AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2012, 15:53   #1  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Корректировки при закрытии склада
Здравствуйте! В классе 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  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я так подозреваю, что для повышения производительности, разработчики решили бороться распространением копеечных корректировок. То есть - если корректировок прихода на дату закрытия вообще нету (_receipt.CostAmountAdjustment - _adjustmentLater), а сама сумма корректировки слишком мала чтобы повлиять на себестоимость одной штуки - то и хрен с ним - спишем в округления.
Просто там два механизма отсечек мелких корректировок есть: Один по абсолютному значению (типа если меньше рубля - списываем), второй - по относительному (все что на стоимость одной штуки не влияет - списываем). Для меня несколько загадочным остается только условие (_receipt.CostAmountAdjustment - _adjustmentLater)==0. Почему только для таких проводок коррекция списывается в округления ? Возможно тут действует логика, что мол если проводка нетронутая и вообще не корректировалась - то спишем. А если ее уже откорректировали - то раз уж все равно потом корректировки протаксивать дальше по графу - то так уж и быть - скорректируем проводку...
За это сообщение автора поблагодарили: Krasher (1), S.Kuskov (2), Cardagant (1).
Старый 05.09.2012, 19:12   #3  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Версия DAX 2009. Возникла ситуация, когда суммы отличны в тысячных долях, а стоимости единиц одинаковы, так как были округлены до тысячных. Может что-то не до конца понимаю и не там ищу проблему? Спасибо.
Кстати - а на бизнес-уровне какая проблема-то ? Себестоимость возвратов по продажам поехала или что-то подобное ?
Старый 06.09.2012, 09:35   #4  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от fed Посмотреть сообщение
Кстати - а на бизнес-уровне какая проблема-то ? Себестоимость возвратов по продажам поехала или что-то подобное ?
Бизнес-процесс: Управление запасами
При "Закрытии и коррекции" (Управление запасами / Периодические операции / Закрытие и коррекция) за Месяц2 возникает коррекция по производственному заказу , который был создан и разнесен в Месяце1, что не корректно. Данный производственный заказ должен был скорректироваться при закрытии склада за август Месяц1.
Старый 06.09.2012, 10:12   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Бизнес-процесс: Управление запасами
При "Закрытии и коррекции" (Управление запасами / Периодические операции / Закрытие и коррекция) за Месяц2 возникает коррекция по производственному заказу , который был создан и разнесен в Месяце1, что не корректно. Данный производственный заказ должен был скорректироваться при закрытии склада за август Месяц1.
Ну вас скорее надо в cost explorer посмотреть структуру себестоимости этого производственного заказа и поискать там какие-то складские движения (или переоценки складских движений) сделанные во втором месяце.
Старый 06.09.2012, 11:36   #6  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от fed Посмотреть сообщение
Ну вас скорее надо в cost explorer посмотреть структуру себестоимости этого производственного заказа и поискать там какие-то складские движения (или переоценки складских движений) сделанные во втором месяце.
Спасибо за советы! Буду благодарен, если подробнее расскажете как открыть cost explorer.
Старый 06.09.2012, 12:00   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
В форме складских проводок надо кликнуть на Запасы->Анализатор затрат. Выведет дерево со структурой себестоимости и всеми источниками затрат по данной проводке. Оно местами не очень понятное, но если покликать на разных проводках и посравнивать - можно разобраться...
Теги
закрытие, корректировки складских проводок, коррекция

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не хватает фин. аналитик при пересчете и закрытии склада Geo DAX: Функционал 7 23.10.2010 00:24
Проблема с журналом спецификаций при закрытии склада CDR DAX: Функционал 2 24.05.2010 10:50
Что то не понятное при закрытии склада visual DAX: Функционал 4 04.07.2005 09:54
Финансовые проблемы при Закрытии склада Владимир Ю. DAX: Функционал 6 28.06.2005 20:00
Ошибка при закрытии склада, при закрытии более ранней датой, чем пересчет Berkoff DAX: Функционал 2 25.10.2004 17:52

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:17.