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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2011, 12:43   #1  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Проблемы при закрытии склада DAX2009 SP1 RU5/RU6
Решил поделиться проблемами и решениями, которые возникли при закрытии склада. Большая часть проблем связана с расширенным расчетом производственной себестоимости, который был добавлен RU5.

ПРОБЛЕМА 1: Неверная себестоимость расходов при расширенном расчете себестоимости.

Основная логика по закрытию склада находится в классе InventCostItemDim. В методе updateItem вызывается updateLevelAdjustment() в котором коррекции, которые «прилетели» на данную номенклатуру с предыдущих шагов, распределяются на приходные проводки этой номенклатуры.
X++:
while select sum(Adjustment) from inventCostListTrans
            index hint ItemIdx
            group by InventTransId,InventTransIdReturn,VoucherPhysical
            where inventCostListTrans.Voucher           == inventClosing.Voucher            &&
                  inventCostListTrans.NumOfIteration    == inventCostList.NumOfIteration    &&
                  inventCostListTrans.ItemId            == inventCostList.ItemId
        {
            // <GEEU>
            if (calculationProdWIP_RU 
               && inventCostListTrans.InventTransId &&  this.calcWIPProdHistoricalCost_RU(inventCostListTrans.InventTransId, 
inventCostListTrans.VoucherPhysical))
            {
                continue;
            }
            // </GEEU>

            this.updateTransIdReceipt(inventCostListTrans.InventTransId,
                                      inventCostListTrans.Adjustment,
                                      inventCostListTrans.InventTransIdReturn,
                                      inventCostListTrans.VoucherPhysical);
        }
Без включенного расчета расширенной себестоимости (calculationProdWIP_RU = НЕТ) всегда выполняется метод updateTransIdReceipt(), который распределяет коррекцию inventCostListTrans.Adjustment на приходные проводки. В этом методе, после того как коррекция была добавлена к приходной проводке, эта проводка добавляется в мап mapInventTrans.insert(receipt.RecId,receipt). Дальше этот мап используется в методе updateReceiptAdjustment(), чтобы «распространить» коррекции, сделанные по приходным проводкам на сопоставленные с ними расходные проводки.

Если включен расширенный расчет себестоимости и приходная проводка имеет тип «Производство», то вызывается метод calcWIPProdHistoricalCost (), в нем вызывается написанная в RU5 логика, рассчитывается фактическая себестоимость расходов по производственному заказу, себестоимость выходов (побочной и основной продукции), делается коррекция приходов.

Так вот, первая проблема связана с тем, что наши локализаторы забыли для основного выхода сделать вставку в вышеупомянутый mapInventTrans и все коррекции, которые были добавлены к приходам, не распространялись на расходы.

РЕШЕНИЕ

Нужно в конце метода ProdCalculatingWIPEngine_RU:: createAdjustSettlement() вызвать inventCostItemDim.updateInventTrans(_inventTrans):
X++:
    //+ DPL InventClosingFix_OK 11.02.2011 OK
    if (inventCostItemDim != null)
    {
        inventCostItemDim.updateInventTrans(_inventTrans);
    }
    else
    //- DPL InventClosingFix_OK 11.02.2011 OK
    _inventTrans.update();
}
Метод updateInventTrans() защищенный (protected), измените его на public:
X++:
//+ DPL InventClosingFix_OK 11.02.2011 OK
//protected void updateInventTrans(InventTrans _inventTrans)
public void updateInventTrans(InventTrans _inventTrans)
//- DPL InventClosingFix_OK 11.02.2011 OK
...
За это сообщение автора поблагодарили: fed (30), Logger (15), madm (1), zhan (2), imir (1).
Теги
баг, закрытие склада, ошибка, ошибка при закрытии склада, себестоимость

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Завышенная себестоимость по расходам после закрытия склада в DAX2009 Bega DAX: Функционал 13 14.02.2011 12:55
Не хватает фин. аналитик при пересчете и закрытии склада Geo DAX: Функционал 7 23.10.2010 00:24
Проблема с журналом спецификаций при закрытии склада CDR DAX: Функционал 2 24.05.2010 10:50
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Финансовые проблемы при Закрытии склада Владимир Ю. DAX: Функционал 6 28.06.2005 20:00

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

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

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