|
![]() |
#1 |
Участник
|
2 Logger
По-моему, не совсем так: В методе updateItemReturnAdjustments класса InventCostItemDim все возвратные проводки по заказам корректируются в соответствии с исходными расходными проводками. То есть не важно, по какой себестоимости провелся возврат при разноске. А дальше возникающие при закрытии коррекции расходной проводки (проводок) протягиваются по графу себестоимости. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от 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 |
|
![]() |
#3 |
Участник
|
Дело в не том, что себестоимость приходной проводки (по возврату) не пересчиталась при коррекции в расходной.а) в принципе нельзя указать возвратный лот, если проводка по нему не в статусе Продано,б)после разноски накладной и указания лота пересчёт или закрытия всё равно не определяют себестоимость. То есть делаем вывод, что господа разработчика априори считали, что возвращать можно только то, что продавали ранее и вышеописанной мной ситуации (в одном документе и расход и приход) не может быть в принципе, хотя в тех же кассовых сеансах продажа и возврат в одном документе. Выход либо создавать разные документы на приходи и расход, при этом накладная по расходу должна быть разнесена раньше, либо возвращенные лоты друг друга прописывать в обеих проводках, при этом количество в них должно быть одинаково
__________________
_____________________________________________-- Axapta 3.0 SP4 KR1 Build #10 for EE Ищу работу! |
|
Теги |
закрытие склада, коррекция себестоимости, себестоимость, склад |
|
|