|  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. | 
|  | 
|  29.04.2008, 13:17 | #2 | 
| Участник | 
			
			Только что прошелся вплоть до 3.0 SP1. Везде X++: if (isConfigurationKeyEnabled(configurationkeynum(BOMVersion))) return; Этот код правильный, как говорит знакомый дев из Manufacturing team, поскольку так автоматически создавать спецификацию и версии нужно только в том случае, если пользователь не может это сделать самостоятельно (то есть, если выключен ключ). | 
|  | |
| За это сообщение автора поблагодарили: gl00mie (5). | |
|  29.04.2008, 13:25 | #3 | 
| Участник | 
			
			Спасибо за разъяснения, видимо, в исходном приложении, которое я обновляю, действительно кто-то уже покопался...
		 | 
|  |