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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2010, 17:36   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Будьте аккуратны с мышкой, enum и UseEnumValue в Ax 4.0
По свежим граблям:

Если в enum с UseEnumValue = No случайно (или намеренно) переместить один (или несколько) элементов в другое место (изменить порядок), то они будут заново перенумерованы, соотв. этому новому порядку, НО ЭТОГО НЕ БУДЕТ ВИДНО вплоть до перезапуска клиента.

Так что случайное движение мышкой в репозитарии консультантом с доступом к разработке может вызвать изрядное количество головняка. А если еще и на рабочей базе, то...

Версия клиента из KB978429 - 4.0.2503.970.
За это сообщение автора поблагодарили: Logger (2).
Старый 15.09.2010, 07:14   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
А по-моему оно и так очевидно. При использовании UseEnumValue = Yes, независимо от номера позиции элемента в Enum (и соответственно индекса выбранного элемента в контролах типа combobox и прочих enum-friendly контролах), возвращаемое и сохраняемое в БД целочисленное значение Enum будет таким, какое прописано для данного элемента в АОТ (т.е. через некую карту соответствия "позиция<=>значение"). При использовании UseEnumValue = No подобное соотвествие не используется и возвращается строго позиция элемента в Enum(индекс выбранного элемента в контроле), т.е. изменение позиции вызовет изменение возвращаемых целочисленных значений Enum'а, сохраняемых в БД, и искажение символьных значений по данному Enum в ранее сохраненных данных. Это просто надо помнить и понимать.

P.S. Помнится была тема "Пускать ли программиста в рабочее приложение" - сейчас отличный прецедент для создания темы "Пускать ли консультанта в рабочее приложение"
P.P.S. Это вряд ли можно считать багом
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 15.09.2010 в 07:23.
Старый 15.09.2010, 11:39   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Единственное, конечно, можно было бы хотя бы предупреждение добавить какое-то для разработчика.
Мол, изменение порядка значений в данном перечислении приведет к искажению данных в таблицах, использующих данное перечисление.

Или вообще автоматическую "синхронизацию", которая пробежится по всем таблицам, где это перечисление используется, и обновит значения соответствующим образом.
Старый 15.09.2010, 14:43   #4  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
А по-моему оно и так очевидно. ...

P.P.S. Это вряд ли можно считать багом
Я бы не сказал. Разработчик вполне имеет право после нажатия кнопки "Сохранить" и пропадания красной черты возле элемента AOT, видеть его актуальное состояние. А так - щелкая по свойствам элементов enum, я вижу их старые значения, тогда как реально - они уже другие. Иначе чем ошибкой, я такое поведение назвать не могу.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Теги
feature, useenumvalue

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01

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

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

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