18.06.2009, 17:32 | #1 |
Участник
|
Баг в InventItemType?
Axapta 3.0 SP5, Dynamics Ax 4.0 SP2 (application version: 4.0.2501.347), Dynamics Ax2009 (application version: 5.0.1001.176)
Есть подозрение что ряд методов класса InventItemType на SYS слое содержат потенциальный (скрытый) bug в реализации. Конкретнее речь о методах:
X++: ... DictEnum dictEnum; Counter i; InventItemType inventItemType; str itemTypeTxt; ; dictEnum = new DictEnum(enumnum(ItemType)); for (i=0;i<dictEnum.values();i++) { inventItemType = InventItemType::construct(i); ... itemTypeTxt += queryValue(dictEnum.value2Name(i)); } В российской локализации добавлен 4-ый элемент: Asset_RU = 100 (в версии 3.0 SP3 Asset_RU = 3, в версии 3.0 SP4 Asset_RU = 100), после чего бага в реализации методов уже становится заметной, т.к. порядковый номер элемента перечисления не совпадает с его значением. Для наглядности на примере пары (дополняющих друг друга по смыслу) методов InventItemType::valueCanHaveBOM() и InventItemType::valueCanNotHaveBOM() в AX2009: X++: static void jbInventItemTypeCheck(Args _args) { ; info( strfmt( "%1", InventItemType::valueCanHaveBOM() ) ) ; info( strfmt( "%1", InventItemType::valueCanNotHaveBOM() ) ) ; } Цитата:
Сообщение (18:47:01)
- Спецификация - Номенклатура,Услуга,3 X++: ... DictEnum dictEnum; Counter i; InventItemType inventItemType; str itemTypeTxt; ; dictEnum = new DictEnum(enumnum(ItemType)); for (i=0;i<dictEnum.values();i++) { inventItemType = InventItemType::construct(dictEnum.index2Value(i)); ... itemTypeTxt += queryValue(dictEnum.index2Name(i)); } X++: ... DictEnum dictEnum; Counter i; InventItemType inventItemType; str itemTypeTxt; ItemType itemType; ; dictEnum = new DictEnum(enumnum(ItemType)); for (i=0;i<dictEnum.values();i++) { itemType = dictEnum.index2Value(i); inventItemType = InventItemType::construct(itemType); ... itemTypeTxt += queryValue(dictEnum.value2Name(itemType)); } |
|
|
За это сообщение автора поблагодарили: kashperuk (5), konopello (3), Bober (1). |
19.06.2009, 09:52 | #2 |
Участник
|
Спасибо. В Ax 4.0 SP2 тоже осталось ItemType::Asset_RU = 100.
|
|
Теги |
ax2009, ax3.0, ax4.0, inventitemtype, баг, номенклатура |
|
|