|
|
#24 |
|
Moderator
|
А скажи пожалуйста - откуда вызывается этот самый createErrorAdjustment ?
То есть - буквально - ткни в тот кусок кода который приводит к ее вызову... Может я чего и подскажу. Но вообще-то - судя по симптомам - код вызывается из той же процедуры updateReceiptAdjustmentTrans. Сразу после процитированного мною куска кода, вычисляющего сумму коррекции себестоимости (который и я посоветовал править) там есть код который вызывает твой createErrorAdjustment: if (! this.financialOpenQty(_receipt)) // Fix HQ-307-902-qc72 Error adjustment must only be done when the transaction is completely settled this.createErrorAdjustment(_receipt,-adjustment); Собственно - смысл этого куска состоит в том что если у нас коррекция себестоимости добралась до полностью сопоставленного и закрытого прихода - то дальше по цепочке товародвижения эту коррекцию себестоимости тащить не надо, достаточно просто скорректировать себестоимость прихода. Кстати - метод createErrorAdjustment используется еще и для того чтобы куда-нибудь "пристроить" сумму коррекции, если на очередной итерации оказалось что сумма коррекции меньше минимальной пропускной способности. Так вот я и говорю о том, что по моему зря ты беспокоишься по поводу метода createErrorAdjustment. Проблема не в нем, а в том куске кода, который пытается рассчитать сумму коррекции и который я тебе предложил подправить. P.S. Кстати - посмотри - по моему if перед вызовом createErrorAdjustment появился только в SP3 и у тебя его нету. Можно его вставить, хотя эта проверка, как мне кажется, борется не с твоей проблеммой, а с совсем другой |
|
|