Показать сообщение отдельно
Старый 26.03.2014, 19:24   #153  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Приложение 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
За это сообщение автора поблагодарили: belugin (5), S.Kuskov (2).