29.04.2008, 12:19 | #1 |
Участник
|
Версии спецификации и метод InventTable.insertBOMTable()
Сразу скажу, что спецификации знаю весьма поверхностно - поэтому и есть некоторые сомнения относительно того, что удалось найти.
В ходе сравнения приложений разных версий обнаружилось «незначительная» разница в методах InventTable.insertBOMTable() для версии приложения 3.0 SP3 и 3.0 SP5, а также последующих версий. Разница заключается в интерпретации состояния конфигурационного ключа BOMVersion - если в SP3 код выглядит (с некоторыми купюрами) так: X++: server void insertBOMTable() { BOMTable BOMTable; BOMVersion BOMVersion; if (! this.inventItemType().canHaveBOM()) return; if (!isConfigurationKeyEnabled(configurationkeynum(BOMVersion))) return; BOMTable.initFromInventTable(this); // ... BOMTable.insert(); BOMVersion.initFromInventTable(this); BOMVersion.initFromBOMTable(BOMTable); // ... BOMVersion.insert(); } X++: server void insertBOMTable() { BOMTable BOMTable; BOMVersion BOMVersion; if (! this.inventItemType().canHaveBOM()) return; if (isConfigurationKeyEnabled(configurationkeynum(BOMVersion))) return; BOMTable.initFromInventTable(this); // ... BOMTable.insert(); BOMVersion.initFromInventTable(this); BOMVersion.initFromBOMTable(BOMTable); // ... BOMVersion.insert(); } Объясните кто-нить, где именно была ошибка: в коде приложения до 3.0 SP3 включительно или же в коде, начиная с 3.0 SP5? Какой из вариантов правильный?.. Последний раз редактировалось gl00mie; 29.04.2008 в 12:22. |
|