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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.07.2011, 03:52   #6  
vanokh is offline
vanokh
Участник
 
108 / 63 (3) ++++
Регистрация: 23.10.2008
Поищите по фразе "программная разноска" или "создание накладной из кода" - есть варианты и с ручным созданием PurchParmLine, вот, например, тема - Создание CustInvoiceJour, CustInvoiceSalesLink, CustInvoiceTrans from X++

Сам пишу примерно такой код (разноска отборочной - выбор нужных строк заказа по фильтру и задание для каждой требуемого кол-ва):
X++:
        purchParmTable.clear();

        purchFormLetter = new PurchFormLetter_PackingSlip_public(true);
        purchFormLetter.parmId();
        purchFormLetter.initParmPurchTable(purchTable);
        purchFormLetter.specQty(PurchUpdate::PackingSlip);
        purchFormLetter.transDate(systemdateget());
        purchFormLetter.createParmTable(purchParmTable, purchTable);

        purchParmTable.Num = packingSlip.PackingSlipId;
        purchParmTable.Transdate = packingSlip.DeliveryDate;
        purchParmTable.insert();
        purchFormLetter.parmPurchParmTable(purchParmTable);

        while purchLine //все необходимые фильтры
        {
            purchParmLine.clear();
            purchParmLine.initFromParmTable(purchParmTable);
            purchParmLine.initFromPurchLine(purchLine);

            purchQuantity = PurchQuantity::construct(DocumentStatus::PackingSlip);
            [purchParmLine.ReceiveNow, purchParmLine.RemainBefore, purchParmLine.RemainAfter] =
                purchQuantity.qtyPurch(purchLine, purchUpdate::PackingSlip, < ->, false, purchParmTable.PackingSlipIdForUpdate_W);
            [purchParmLine.InventNow , purchParmLine.RemainBeforeInvent, purchParmLine.RemainAfterInvent] =
                purchQuantity.qtyInvent(purchLine, purchUpdate::PackingSlip, < ->, false, purchParmTable.PackingSlipIdForUpdate_W);

            purchLine.PurchReceivedNow = purchParmLine.ReceiveNow;
            purchLine.setInventReceivedNow();

            purchParmLine.setQty(purchParmTable.ordering, false);
            purchParmLine.setInventReceiveNow();
            purchParmLine.setLineAmount();
            purchParmLine.insert();
        }

        purchFormLetter.multiForm(true);
        purchFormLetter.allowCreateParmTable(true);
        purchFormLetter.progressInit("Создание отборочной", 1, '');
        purchFormLetter.createParmUpdate();
        purchFormLetter.setJournalList();
        purchFormLetter.createJournal();

Последний раз редактировалось vanokh; 12.07.2011 в 04:27.
Теги
постинг, программно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Принцип использования дат LEO DAX: Функционал 4 25.06.2010 16:11
Примеры использования AIF Lazy_Tiger DAX: База знаний и проекты 14 16.01.2008 13:24
COM+ механизмы использования cutter DAX: Программирование 2 01.11.2007 00:32
Номер накладной поставщика в purchFormLetter.update SNG DAX: Программирование 8 24.03.2004 10:03
Пример использования RunBuf Mechanizm DAX: Программирование 11 02.03.2004 13:25
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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