Приложение AX 2012 R2 CU7 (6.2.1000.4051), при активации ключа Retail на формах заказов на продажу и заказов на покупку появляется кнопка "Добавить продукты", открывающая форму создания и изменения строк заказа на основе продуктов с возможностью фильтрации последних по каталогу. Там используется времяночка TmpRetailProductsToAdd, по данным которой при закрытии формы собственно создаются и изменияются строки заказа. Разработчикам пришло в голову, что пользователи могут на этой форме поменять не только количество, но и аналитики хранения/отслеживания номенклатуры, поэтому они завели "фиктивный" FormDS на базе InventDim (разумеется, запретив сохранять что-либо через него), а на сохранение времяночки повесили такой чудо-код (\Forms\RetailAddItems\Data Sources\TmpInventTable\Methods\write):
X++:
public void write()
{
InventDim inventDimLocal;
inventDimLocal.ConfigId = inventDim.ConfigId;
inventDimLocal.InventColorId = inventDim.InventColorId;
inventDimLocal.InventSizeId = inventDim.InventSizeId;
inventDimLocal.InventStyleId = inventDim.InventStyleId;
inventDimLocal.InventSiteId = inventDim.InventSiteId;
inventDimLocal.InventLocationId = inventDim.InventLocationId;
inventDimLocal.InventBatchId = inventDim.InventBatchId;
inventDimLocal.wmsLocationId = inventDim.wmsLocationId;
inventDimLocal.wmsPalletId = inventDim.wmsPalletId;
inventDimLocal.inventSerialId = InventDim.inventSerialId;
tmpInventTable.InventDim = InventDim::findOrCreate(inventDimLocal).InventDimId;
super();
}
Разумеется, им было невдомек, что локализаторы в других странах, да и просто внедренцы нет-нет да и добавляют новые аналитики в InventDim