Показать сообщение отдельно
Старый 07.05.2009, 18:23   #1  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
Странный баг при расширении Enum
Стандартная AX4 SP2

Имеется enum InventAccountType с 38 элементами (EnumValue 0-37)

Добавляется новый элемент Element1 со значением 80 или 101 (под будущие апгрейды)

Через Table Browser в InventPosting создается новая запись с этим значением.

Select по этому значению в таблице ничего не находит.

Корректно работает только если у нового элемента поменять EnumValue на следующий по порядку номер (38). В SQL при этом в этой таблице всегда хранится правильное значение (101или 80 или 38).

Альтернативный способ тестирования - воспользоваться кнопкой Script для новой записи из Table Browser.

При использовании следующего номера возвращает:
X++:
inventposting.InventAccountType = InventAccountType::Element1
При "дырке" в нумерации элементов возвращает:
X++:
inventposting.InventAccountType = InventAccountType::<>
или
X++:
inventposting.InventAccountType = InventAccountType::<  >
или
X++:
inventposting.InventAccountType = InventAccountType::    <Table:Field name="SysLabelApplModule">0</Table:Field>
;
С другими enum в системе расширение от 101 работает корректно, все пересинхронизированно, откомпилированно, перестроено. На других клиентах тоже самое.

Подозреваю что может быть системный баг - при превышении некоторого лимита количества элементов в enum нельзя делать дырки в нумерации ?

Можете подтвердить или опровергнуть мои подозрения ?
__________________
_databaseTransDelete ... bl@$ !