05.09.2012, 15:53 | #1 |
Участник
|
Корректировки при закрытии склада
Здравствуйте! В классе InventCostItemDim методе updateReceiptAdjustmentTrans() есть интересное место, а именно:
X++: ... if (_receipt.Qty != 0 && _receipt.QtySettled > 0) { costAmount = Currency::amount((_receipt.costValue() - _adjustmentLater) / _receipt.Qty * _receipt.QtySettled); adjustment = costAmount - _receipt.CostAmountSettled; if (adjustment && (abs(adjustment) < inventClosing.MinTransferValue || (_receipt.CostAmountAdjustment - _adjustmentLater == 0 && Currency::amount(_receipt.CostAmountSettled / _receipt.QtySettled) == Currency::amount(costAmount / _receipt.QtySettled)))) // вот это условие { 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); adjustment = 0; } allocateValue = adjustment;... X++: Currency::amount(costAmount - _receipt.costAmountSettled) == 0 Версия DAX 2009. Возникла ситуация, когда суммы отличны в тысячных долях, а стоимости единиц одинаковы, так как были округлены до тысячных. Может что-то не до конца понимаю и не там ищу проблему? Спасибо. |
|
05.09.2012, 16:54 | #2 |
Moderator
|
Я так подозреваю, что для повышения производительности, разработчики решили бороться распространением копеечных корректировок. То есть - если корректировок прихода на дату закрытия вообще нету (_receipt.CostAmountAdjustment - _adjustmentLater), а сама сумма корректировки слишком мала чтобы повлиять на себестоимость одной штуки - то и хрен с ним - спишем в округления.
Просто там два механизма отсечек мелких корректировок есть: Один по абсолютному значению (типа если меньше рубля - списываем), второй - по относительному (все что на стоимость одной штуки не влияет - списываем). Для меня несколько загадочным остается только условие (_receipt.CostAmountAdjustment - _adjustmentLater)==0. Почему только для таких проводок коррекция списывается в округления ? Возможно тут действует логика, что мол если проводка нетронутая и вообще не корректировалась - то спишем. А если ее уже откорректировали - то раз уж все равно потом корректировки протаксивать дальше по графу - то так уж и быть - скорректируем проводку... |
|
|
За это сообщение автора поблагодарили: Krasher (1), S.Kuskov (2), Cardagant (1). |
05.09.2012, 19:12 | #3 |
Moderator
|
Кстати - а на бизнес-уровне какая проблема-то ? Себестоимость возвратов по продажам поехала или что-то подобное ?
|
|
06.09.2012, 09:35 | #4 |
Участник
|
Цитата:
При "Закрытии и коррекции" (Управление запасами / Периодические операции / Закрытие и коррекция) за Месяц2 возникает коррекция по производственному заказу , который был создан и разнесен в Месяце1, что не корректно. Данный производственный заказ должен был скорректироваться при закрытии склада за август Месяц1. |
|
06.09.2012, 10:12 | #5 |
Moderator
|
Цитата:
Сообщение от Cardagant
Бизнес-процесс: Управление запасами
При "Закрытии и коррекции" (Управление запасами / Периодические операции / Закрытие и коррекция) за Месяц2 возникает коррекция по производственному заказу , который был создан и разнесен в Месяце1, что не корректно. Данный производственный заказ должен был скорректироваться при закрытии склада за август Месяц1. |
|
06.09.2012, 11:36 | #6 |
Участник
|
Спасибо за советы! Буду благодарен, если подробнее расскажете как открыть cost explorer.
|
|
06.09.2012, 12:00 | #7 |
Moderator
|
В форме складских проводок надо кликнуть на Запасы->Анализатор затрат. Выведет дерево со структурой себестоимости и всеми источниками затрат по данной проводке. Оно местами не очень понятное, но если покликать на разных проводках и посравнивать - можно разобраться...
|
|
Теги |
закрытие, корректировки складских проводок, коррекция |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|