07.06.2007, 10:13 | #1 |
GMCS
|
Вопрос по резервированию
Вопрос в следующем...
В аксапте ведется партионный учет товара. У одной номенклатуры на момент времени X в наличии 2 партии товара. Используется модель FIFO. т.е. по хорошему Аксапта должна полностью выбрать всю партию 1, а потом начать выбирать партию 2, т.к. партия 1 исторически возникла раньше партии 2. Но на деле не совсем так. Расход идет попеременно то из партии 1, то из партии 2. Анализ проводок привел к мысли о том, что из за частых корректировок даты на которые ориентируется система при резервировании обновляются. Исследование кода позволило обнаружить причину... в классе InventUpd_Reservation, в методе updateReserveMore() создается query по запасам в наличии (InventSum), в запросе сортировка идет по полю InventSum.LastUpdDatePhysical ASC Данное поле обновляется в InventSum\Methods\addInventTransOnSum X++: if ( ! inventTrans.isTransfer() ) { if (inventTrans.DatePhysical) this.LastUpdDatePhysical = inventTrans.DatePhysical; else if (inventTrans.DateInvent) this.LastUpdDatePhysical = inventTrans.DateInvent; else if (inventTrans.DateExpected) this.LastUpdDateExpected = inventTrans.DateExpected; } else { inventDimIssue = this.inventDimTransferIssue(inventTrans); if (inventDimIssue && inventDimIssue.inventDimId != inventTrans.inventDimId) { inventSumIssue = inventSum::find(inventTrans.ItemId,inventDimIssue.inventDimId); if (inventSumIssue.RecId) { this.LastUpdDateExpected = inventSumIssue.LastUpdDateExpected; this.LastUpdDatePhysical = inventSumIssue.LastUpdDatePhysical; } } } На чем это может еще отразиться? |
|