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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2015, 18:00   #1  
byte is offline
byte
Участник
 
36 / 31 (2) +++
Регистрация: 21.08.2007
Проблемы с обнуленим кол-ва в строке заказа на перемещение
Добрый день!

Сложилась странная ситуация. Когда кол-во в строке заказ на перемещение обнуляется вручную, остаются 2 складские проводки - с транзитного склада и на конечный склад.
Метод updateEstimated таблицы InventTransferLine
X++:
movementFrom = InventMovement::construct(this);

        estimatedFrom = InventUpd_Estimated::newInventMovement(movementFrom);
        estimatedFrom.updateNow();

        estimatedTransitTo = InventUpd_Estimated::newInventMovement(InventMovement::construct(this,InventMovSubType::TransferOrderTransitTo));
        estimatedTransitTo.updateNow();
        
        info1(this.orig().QtyRemainShip); // выводится 0, хотя должно быть обнуляемое кол-во

        movementTransitFrom = InventMovement::construct(this,InventMovSubType::TransferOrderTransitFrom);
        estimatedTransitFrom = InventUpd_Estimated::newInventMovement(movementTransitFrom);
Проблема в том, что после обновления лота перемещения на транзитный склад, у курсора строки перемещения почему-то обнуляются в orig() поля QtyRemainShip и QtyRemainReceive. В результате оставшиеся проводки не удаляются. Если менять кол-во с одного на другое ненулевое, проблемы не возникает.
Буду благодарен за помощь.
Ax2009

Последний раз редактировалось byte; 23.03.2015 в 18:23.
Старый 24.03.2015, 13:30   #2  
byte is offline
byte
Участник
 
36 / 31 (2) +++
Регистрация: 21.08.2007
Коллеги, проверьте, пжл, воспроизводится ли ситуация, у нас вроде все стандартное, ax2009.
Старый 24.03.2015, 15:15   #3  
byte is offline
byte
Участник
 
36 / 31 (2) +++
Регистрация: 21.08.2007
В общем нашел я причину. После обновления проводок по получению на транзитный склад, делается update строки и orig затирается, хотя он продолжает использоваться далее. Сделал следующую заплатку под этот случай:
X++:
if (! _dropEstimated)
    {
        origReceiveQty  = this.orig().QtyRemainReceive;

        movementFrom = InventMovement::construct(this);

        estimatedFrom = InventUpd_Estimated::newInventMovement(movementFrom);
        estimatedFrom.updateNow();

        estimatedTransitTo = InventUpd_Estimated::newInventMovement(InventMovement::construct(this,InventMovSubType::TransferOrderTransitTo));
        estimatedTransitTo.updateNow();

        movementTransitFrom = InventMovement::construct(this,InventMovSubType::TransferOrderTransitFrom);
        estimatedTransitFrom = InventUpd_Estimated::newInventMovement(movementTransitFrom);

        // -->
        if( !this.QtyRemainReceive          &&
            !this.orig().QtyRemainReceive   &&
            origReceiveQty )
        {
            estimatedTransitFrom.parmPreEstimated(-origReceiveQty);
            estimatedTransitFrom.parmTransEstimated(0);
            estimatedTransitFrom.parmEstimated(origReceiveQty);
        }
        // <--

        // <GEEU>
        //if return receipt only specialMarking should be made while create Estimated
        if (!estimatedFrom.updEstimated() && estimatedTransitFrom.parmEstimated())
            movementTransitFrom.parmInventRefTransId_RU(this.InventTransIdTransitFrom);
        // </GEEU>
        estimatedTransitFrom.updateNow();

        estimatedTo = InventUpd_Estimated::newInventMovement(InventMovement::construct(this,InventMovSubType::TransferOrderTo));
        // -->
        if( !this.QtyRemainReceive          &&
            !this.orig().QtyRemainReceive   &&
            origReceiveQty )
        {
            estimatedTo.parmPreEstimated(origReceiveQty);
            estimatedTo.parmTransEstimated(0);
            estimatedTo.parmEstimated(-origReceiveQty);
        }
        // <--
        
        estimatedTo.updateNow();
    }
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменения остатков в строке заказа на перемещение plumbum DAX: Программирование 0 22.05.2012 12:39
Маркировка заказа на перемещение plumbum DAX: Программирование 9 06.03.2012 17:56
Журнал переноса. Уменьшение кол-ва. Баг? ZVV DAX: Функционал 20 31.08.2009 15:00
Цены в строке заказа меняются при изменении шапки заказа s.alex DAX: Функционал 8 14.04.2009 11:27
Превышение кол-ва в "немедленная поставка" кол-ва "к поставке" Pegiy DAX: Функционал 16 23.03.2004 20:03

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

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

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