04.06.2013, 13:52 | #1 |
Участник
|
Ax2009 RU2: резервирование строк заказа - баг?
Есть заказ с 1 строкой с количеством 56 и unit = 'уп3кг'.
Для этой номенклатуры: Складская единица - кг, ед. продажи(sales unit) - BOXx3kg. В форме Конвертации задано 3 кг = 1 'уп3кг'. Стоим на строке заказа, жмем Stock-> reservation. В верхней части формы ед изм 'уп3кг'. Все данные отображаются в этой ед. изм. Все корректно. Если изменить на кг, то все корректно пересчитается, т. е умножится на 3. Выбираю строку, где в наличии 56.5 ('уп3кг')(т.е по идее вся строка "в наличии" может покрыть потребность 56 из стоки моего заказа), жму Reserve line. В результате получаю в колонке 18.667. (т.е аккурат 56/3). Если же нажать reserve line с установленной ед. изм "кг" (выбрать ее вверху формы резервации) то все отрабатывает корректно(т.е на наличии показывается 169.5 и резервируется 168 (56*3)) По коду в дебаггере видно. что в InventUpd_Reservation->updateReserveFromForm приходит количество в 'уп3кг' и оно же передается потом в InventUpdate_Reservartion->updateNow() и тд, где все вычисления уже идут в складских единицах. Если я прав понимаю, это кой-то стд. баг , но не нахожу fix для него. Кто-нить знает, был ли такой? Я покавижу "доморощенный" фикс такой: в InventOnhandReserve->updateReserveLine изменить код след образом X++: qty = inventItemUnitConvert.qty(this.reserveNow(false,_inventSum,0)+qty, unitIdSecondary, unitIdInvent, _inventSum.ItemId); this.updateReserveNow(_inventSum,inventDim, qty); // this.updateReserveNow(_inventSum,inventDim,this.reserveNow(false,_inventSum,0)+qty); Ax2009 RU2, Eng. |
|
|
За это сообщение автора поблагодарили: Kabardian (3). |