Цитата:
Сообщение от
DenisS
2 Logger
По-моему, не совсем так:
В методе updateItemReturnAdjustments класса InventCostItemDim все возвратные проводки по заказам корректируются в соответствии с исходными расходными проводками. То есть не важно, по какой себестоимости провелся возврат при разноске. А дальше возникающие при закрытии коррекции расходной проводки (проводок) протягиваются по графу себестоимости.
Возможно что и так.
Я сейчас точно не помню. Смотрел давно, мог ошибиться.
Чтобы точно быть уверенным нужно проверять на конкретном примере.
А вообще указанный код
X++:
if (issue.Qty)
{
costPrice = (issue.costAmountPosted + issue.costAmountAdjustment) / issue.Qty;
adjustment = Currency::amount(inventTrans.Qty * costPrice - inventTrans.costAmountPosted - inventTrans.costAmountAdjustment);
if (abs(adjustment) >= inventClosing.minTransferValue && !InventAdj::isOnhandAdjusted(inventTrans.InventTransId, inventTrans.InventTransIdReturn, ''))
this.updateTransIdReturnReceipt(inventTrans.InventTransId, inventTrans.InventTransIdReturn, costPrice);
}
в методе
\Classes\InventCostItemDim\updateItemReturnAdjustments
не обязательно приведет к вызову
X++:
this.updateTransIdReturnReceipt(inventTrans.InventTransId, inventTrans.InventTransIdReturn, costPrice);
на каждом шаге цикла.
я смотрел для случая переносов для Ax3 SP5
Была попытка изменить код расчета себестоимости чтобы не было усреднения по партиям. Под это дело был изменен метод updateTransIdReturnReceipt()
Но подстава была в том что если при расчете себестоимости расходная проводка не корректировалась (а такое бывает особенно часто если партионный учет включен) - ну повезло нам что мгновенная себестоимость совпала с той которая нужна, то метод updateTransIdReturnReceipt() - не вызывается. Считается что нефиг зря пересчеты гонять, что при первоначальной разноске все должно было правильно перенестить по связи возвращенных лотов.
Соответсвенно моя модифа втаком случае не отрабатывала.
Возможно что здесь у donMigel похожий случай. (По идее метод одинаково работает что для лотов возврата, что для переносов)
P.S.
При сравнении кода нужно еще учитывать, что с SP3 по SP5 закрытие склада поменялось, так что у вас код может отличаться. Я приводил примеры для SP5