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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.02.2018, 08:52   #7  
TalgatAb is offline
TalgatAb
Участник
 
18 / 11 (1) +
Регистрация: 31.01.2018
Сам метод работает таким образом:

X++:
public void ALA_InitSerialNum()
{
    // <Talgat 22.02.2016 9:44>
    PurchParmLine        _purchParmLine;
    PurchLine            _purchLine;
    InventDim            _inventDim, _inventDimNew;

    InventSerialId       _inventSerialId;
    InventLocationId     _inventLocationId;
    InventDimGroupId     _dimGroupId;
    //ConfigId             _configId;
    // </Talgat>
    ;

    // <Talgat 22.02.2016 9:31>

    ttsBegin;

    while select forUpdate _purchParmLine
       where _purchParmLine.ParmId == PurchParmTable.ParmId
    {
        _dimGroupId = InventTable::find(_purchParmLine.ItemId).DimGroupId;

        if (ALA_DimGroupId::find(_dimGroupId).DimGroupId)
        {
            _inventDim = InventDim::find(_purchParmLine.InventDimId);
            if (_inventDim)
            {
                if (!_inventDim.inventSerialId)
                {
                    _inventLocationId = _inventDim.InventLocationId;
                    if (ALA_InventLocationId::find(_inventLocationId).InventLocationId)
                    {
                        _inventSerialId = InventSerial::findOrCreate(_purchParmLine.ItemId, _inventLocationId, PurchParmTable.TransDate).InventSerialId;

                        _inventDimNew = InventDim::find(_purchParmLine.InventDimId, true);
                        _inventDimNew.inventSerialId = _inventSerialId;
        //                if (!_inventDimNew.configId)
        //                {
        //                    _configId = PurchLine::findRecId(_purchParmLine.PurchLineRecId).Dimension[5];
        //                    _inventDimNew.configId = ConfigTable::findOrCreate(_purchParmLine.ItemId, _configId, PurchLine::findRecId(_purchParmLine.PurchLineRecId).PurchUnit).ConfigId;
        //                }

                        _purchParmLine.InventDimId = InventDim::findOrCreate(_inventDimNew).inventDimId;
                        _purchParmLine.update();

                        while select forUpdate _purchLine
                            where _purchLine.RecId == _purchParmLine.PurchLineRecId
                        {
                            _purchLine.InventDimId = _purchParmLine.InventDimId;
                            _purchLine.update();
                        }
                    }

                }
            }
        }
    }
    ttsCommit;

    // </Talgat>
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mfp: InventDim in AX7 Blog bot DAX Blogs 19 03.03.2016 21:06
DynamicsAxSCM: Microsoft Dynamics AX R3 – New Warehouse Management solutions impact on InventDim extensibility and migration scenarios Blog bot DAX Blogs 0 14.08.2015 15:11
Dynamics AX Sustained Engineering: KB3030212 Duplicate InventDim records are created which cause errors in the WHS if license plate IDs include trailing blanks Blog bot DAX Blogs 0 22.01.2015 20:12
Вопросы по ReleaseUpdate DAX 2009 ansoft DAX: Программирование 7 31.08.2010 12:21
inventUpd_reservation использование inventDim SHiSHok DAX: Программирование 2 31.03.2007 21:32

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

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

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