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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.08.2007, 13:08   #8  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Сделал метод, с помощью которого можно создавать одну накладную по нескольким строкам из разных заказов.

PHP код:
static void createOneInvoiceFromMultiSales(
            
container       _conSales//Перечень заказов (SalesId заказов)
            
container       _conLines//Перечень строк заказов (RecId строк заказов)
            
TransDate       _invoiceDate//Дата накладной
            
TransDate       _documentDate//Дата документа
            
SalesUpdate     _specQty,
            
AccountOrder    _sumBy
            
)
{
    
int             iSalesiLines;
    
SalesFormLetter letter=SalesFormLetter::construct(DocumentStatus::Invoice);
    
SalesParmLine   parmLine;
    
SalesLine       salesLine;
    
SalesParmTable  SalesParmTable;
    
salesParmUpdate salesParmUpdate;
    
SalesId         salesId;
    
SalesTable      salesTable;
    
RecId           recId;
    ;

    
ttsBegin;
    
letter.transDate(systemDateGet());
    
letter.multiForm(true);
    
letter.specQty(_specQty);
    
letter.printFormLetter    (true);

    
letter.createParmUpdate();
    
select forupdate firstonly salesParmUpdate where
        salesParmUpdate
.RecId == letter.salesParmUpdate().RecId;
    
salesParmUpdate.SumBy _sumBy;
    
salesParmUpdate.update();
    
letter.salesParmUpdate(salesParmUpdate);

    
letter.initParameters(letter.salesParmUpdate(),
                        
PrintOut::Current);  // Printout

    
for (iSales 1iSales <= conlen(_conSales); iSales ++)
    {
        
salesId conpeek(_conSalesiSales);
        
salesTable salesTable::find(salesId);
        
SalesParmTable.clear();
        
letter.createParmTable(SalesParmTablesalesTable);
        
SalesParmTable.DocumentDate _documentDate;
        
SalesParmTable.Transdate _invoiceDate;
        
SalesParmTable.insert();
    }

    for (
iLines 1iLines <= conlen(_conLines); iLines ++)
    {
        
recId conpeek(_conLinesiLines);
        
select firstonly salesLine where salesLine.RecId == recId;
        
letter.createParmLine(salesLine);
    }

    
letter.run();
    
ttscommit;


Вот так можно вызвать этот метод:
PHP код:
static void Job13(Args _args)
{
    
Container   conSalesconLines;
    
salesLine   salesLine;
    ;
    
conSales conins(conSales1"000151482");
    
conSales conins(conSales2"000151483");
    
select firstonly salesLine where salesLine.SalesId == "000151482" && salesLine.ItemId == "114014010";
    
conLines conins(conLines1salesLine.RecId);
    
select firstonly salesLine where salesLine.SalesId == "000151483" && salesLine.ItemId == "11401401004";
    
conLines conins(conLines2salesLine.RecId);
    
MyClass::createOneInvoiceFromMultiSales(
        
conSales
        
conLines
        
01\08\2007
        
02\08\2007
        
SalesUpdate::All
        
AccountOrder::Account);

Теги
заказ на продажу, законченный пример, накладная, программно, разноска

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разноска накладной по проектам Ark DAX: Функционал 3 27.02.2009 13:16
Производство.Разноска отгрузочной накладной в главную книгу. AlexeyBP DAX: Функционал 1 10.04.2007 12:01
Разноска накладной при переходе с 2.5 на 3.0 sred DAX: Функционал 0 09.10.2006 10:51
разноска счета на оплату после разноски накладной OlegKocherga DAX: Функционал 14 12.03.2004 17:48
Разноска операций Закупка, Заказ по счетам ГК по отборочной накладной. Как настроить? May DAX: Функционал 5 01.08.2003 11:13

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

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

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