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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2008, 19:23   #1  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Касательно разделения проводок при закрытии склада:

В DAX3.0SP4 (обновленное закрытие склада) разделение (согласно перекрестных ссылок) происходит только в одном месте:

InventAdj_Closing.updateSettleRefTransId()

X++:
    // clear unused references

    if (mapQtyIssue || mapQtyReceipt)
    {
        while select forupdate inventTrans
            index hint openItemIdx
            where inventTrans.ValueOpen         == inventTransOpen::Yes &&
                  inventTrans.ItemId            == _inventTable.ItemId  &&
                  inventTrans.InventRefTransId  != ''
        {
            if ((inventTrans.Qty > 0 && (! mapQtyIssue   || ! mapQtyIssue.exists(inventTrans.InventTransId)    || abs(mapQtyIssue.lookup(inventTrans.InventTransId)) <  inventAdj::settleQtyDiff())) ||
                (inventTrans.Qty < 0 && (! mapQtyReceipt || ! mapQtyReceipt.exists(inventTrans.InventTransId)  || abs(mapQtyReceipt.lookup(inventTrans.InventTransId)) <  inventAdj::settleQtyDiff())))
            {
                if (inventTrans.QtySettled)
                    inventTrans.updateSplit(inventTrans.financialOpenQty());

                inventTrans.InventRefTransId = '';
                inventTrans.doUpdate();

                if (! inventTrans.isUpdatedFinancial())
                {
                    movement = inventTrans.inventMovement(true);
                    if (movement && movement.inventRefTransId() != '')
                    {
                        movement.setInventRefFields(inventRefType::None,'','');
                        movement.updateDoBuffer();
                    }
                }
            }
        }
    }
Согласно коду, если для вашей проводки нет проводки на которую она ссылается (а ее действительно нет), то тогда от проводки обрезается несопоставленная часть, что у вас и произошло. Так что все в порядке.

Ну а то, что сопоставленная сумма не равна фин. сумме проводки - такое бывает (я наблюдат при закрытии по средней такое). Ничего особенно страшного в этом нет, это будет только влиять на производительность отчетов и скорость последующих закрытий склада. Но если таких ситуаций немного, то тоже ничего страшного.

И еще. В некоторых СП при создании заказа на основе контракта (Blanket order) складская проводка по этому заказу ссылается на лот строки из контракта, в некоторых нет (т.е. для вашей исходной проводки поле InventRefTransId не будет заполнено), соответственно нет разбиения и т.д.

Эту ситуацию на форуме уже обсуждали.

Т.е.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Data migration AX 3.0 SP3 Oracle 9.1 -> AX 4.0 SP2 SQL 2005 dacom DAX: Администрирование 12 30.11.2007 11:25
Dynamics AX: Dynamics AX 4.0 SP2 has been released Blog bot DAX Blogs 0 02.08.2007 03:50

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:31.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.