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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.05.2012, 08:58   #13  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
376 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Не знаю что у вас не работает, но у меня прекрасно работает код а-ля (DAX 2009 RU8)

X++:
    purchFormLetter = purchFormLetter::construct(DocumentStatus::Invoice);
    purchFormLetter.update(purchTable,
                           purchTable.PurchId,
                           systemDateGet(),
                           PurchUpdate::PackingSlip);
Если нужно разнести определенную отборочную накладную, используйте параметр _packedTmpFrmVirtualList - пример использования можно найти по перекрестным ссылкам.

X++:
static void CreateInvoiceByPackingSlipJour(Args _args)
{
    PurchFormLetter         purchFormLetter;
    PurchTable              purchTable                  = PurchTable::find(...);
    RefRecId                refRecIdPackingSlipJourId   = ...;

    TmpFrmVirtual           tmpFrmVirtual;
    VendPackingSlipJour     vendPackingSlipJour = VendPackingSlipJour::findRecId(refRecIdPackingSlipJourId);

    List                    listRecord  = new List(Types::Record);
    ;

    tmpFrmVirtual.clear();
    tmpFrmVirtual.CompanyId = vendPackingSlipJour.DataAreaId;
    tmpFrmVirtual.TableNum  = vendPackingSlipJour.TableId;
    tmpFrmVirtual.RecordNo  = vendPackingSlipJour.RecId;
    tmpFrmVirtual.NoYes     = NoYes::Yes;
    tmpFrmVirtual.Id        = vendPackingSlipJour.PurchId;
    tmpFrmVirtual.insert();

    listRecord.addEnd(tmpFrmVirtual);

    purchFormLetter = purchFormLetter::construct(DocumentStatus::Invoice);
    purchFormLetter.reArrangeNow(false);
    purchFormLetter.update(purchTable,
                           purchTable.PurchId,
                           systemDateGet(),
                           PurchUpdate::PackingSlip,
                           AccountOrder::None,
                           purchFormLetter.proforma(),
                           purchFormLetter.printFormLetter(),
                           purchFormLetter.usePrintManagement(),
                           purchFormLetter.creditRemaining(),
                           listRecord.pack());

    info("done");
}
Правда у меня SQL стал чертыхаться на метод PurchFormLetter_Invoice\selectFromJournal в месте
X++:
tmpFrmVirtual.RecordNo == vendPackingSlipJour.RecId &&
tmpFrmVirtual.TableNum == vendPackingSlipJour.TableId
пришлось заменить на конструкцию вида
X++:
    while select tmpFrmVirtual
        order by Id
        where tmpFrmVirtual.TableNum   == tableIdPackingSlip
        join vendPackingSlipJour
            where
            tmpFrmVirtual.RecordNo == vendPackingSlipJour.RecId
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: alexkrut (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Подмена аналитик при разноске отборочной накладной evv DAX: Программирование 9 01.12.2010 13:52
разноска отборочной накладной Varmen DAX: Программирование 1 30.05.2009 12:58
Программная разноска накладной со строками из нескольких заказов Ace of Database DAX: База знаний и проекты 7 25.08.2007 13:08
Новые счета в разноске в 3 SP Alex_R2 DAX: База знаний и проекты 13 22.06.2006 15:36
Разноска операций Закупка, Заказ по счетам ГК по отборочной накладной. Как настроить? May DAX: Функционал 5 01.08.2003 11:13

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

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

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