AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.05.2008, 14:08   #1  
sgt.Pepper is offline
sgt.Pepper
Участник
Аватар для sgt.Pepper
 
43 / 15 (1) ++
Регистрация: 05.10.2007
Адрес: Германия
Real в качестве ключа - ошибка при создании записи в связанной таблице
Проблема:
существуют 2 таблицы - диаметр трубы и толщина стенки, у обеих в качестве ключа выбрано поле типа real, основанное на EDT, 3 знака после запятой.

Далее существует таблица с комбинациями диаметра и толщины стенки. Создаю диаметр, например 1.315, и хочу его выбрать для комбинации, в результате получаю ошибку "The value '1,32' in field 'Diameter' is not found in relating table 'Pipe diameter'."

Можно ли обойти каким-либо образом это округление или придется создавать строковое поле и дублировать туда значение?

Kernel 4.02163 SP2, localization Eastern Europe
Старый 20.05.2008, 14:18   #2  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
А вы чего, трубы не по ГОСТу производите?

Делайте строковым типом ключ и не выдумывайте велосипед.
За это сообщение автора поблагодарили: sgt.Pepper (1).
Старый 20.05.2008, 14:22   #3  
sgt.Pepper is offline
sgt.Pepper
Участник
Аватар для sgt.Pepper
 
43 / 15 (1) ++
Регистрация: 05.10.2007
Адрес: Германия
Просто в этом случае получается дублирование данных, а десятичное поле нужно для конвертации из дюймов в миллиметры, например.
Старый 20.05.2008, 14:40   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Вроде, у меня получилось (не округляет). Я чего-то недочитал?
__________________
С уважением,
glibs®
Старый 20.05.2008, 16:08   #5  
sgt.Pepper is offline
sgt.Pepper
Участник
Аватар для sgt.Pepper
 
43 / 15 (1) ++
Регистрация: 05.10.2007
Адрес: Германия
Да, действительно, повторно создал тестовые формы - не округляет.

Нашел причину: в EDT в FormHelp у меня было прописана форма лукапа, в которой в методе closeSelect было следующее:
X++:
public void closeSelect(str _selectString)
{
    TmkOuterDiameter diameter;
    ;
    diameter = OuterDiameter_ds.cursor();
    _selectString = strfmt("%1", diameter.DiameterId);
    super(_selectString);
}
А strfmt судя по всему округляет значение до 2 цифр, потому и получаю такое сообщение.

Вобщем, всем спасибо за помощь :-)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при создании табеля. Spider DAX: Функционал 4 20.09.2006 17:38
Ошибка при создании проводок Sequel DAX: Функционал 7 02.03.2006 11:50
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Автоматическое увеличение значения поля при создании новой записи. sguryev DAX: Программирование 3 06.02.2003 14:00
фильтр по связанной таблице mick_777 DAX: Программирование 13 21.08.2002 16:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:08.