|
|
#1 |
|
Участник
|
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). | |
| Теги |
| ax2009, ax3.0, ax4.0, inventitemtype, баг, номенклатура |
|
|
|