Axapta 如何为一组销售订单过账领料单?

Axapta 如何为一组销售订单过账领料单?,axapta,dynamics-ax-2009,x++,Axapta,Dynamics Ax 2009,X++,我有一个自定义表,其中有一个销售订单列表,我想为其发布提货单 如何将它们一次全部传递给SalesFormLetter对象,以便在一个组中拾取它们 我看到SalesFormLetter\u PickingList\newJournalList正在被呼叫,我想知道是否有一种方法可以将我想要挑选的销售订单的简单记录列表传递进来。但是,这个列表列错了表…所以这不起作用。看起来我可以通过某种方式传递一个查询,但我不确定该怎么做。以下是我用来发布拣货单的基本代码: salesFormLetter = Sal

我有一个自定义表,其中有一个销售订单列表,我想为其发布提货单

如何将它们一次全部传递给SalesFormLetter对象,以便在一个组中拾取它们

我看到SalesFormLetter\u PickingList\newJournalList正在被呼叫,我想知道是否有一种方法可以将我想要挑选的销售订单的简单记录列表传递进来。但是,这个列表列错了表…所以这不起作用。看起来我可以通过某种方式传递一个查询,但我不确定该怎么做。以下是我用来发布拣货单的基本代码:

salesFormLetter = SalesFormLetter::construct(DocumentStatus::PickingList);
salesFormLetter.update(SalesTable::find(_salesId), today(), SalesUpdate::All, AccountOrder::None, NoYes::No, NoYes::Yes);

这包括设置查询以选择您的销售订单,然后调用
选择行来选择订单。

作者:Jubal1234发布于2010-07-27 04:13:28ID:33296972

找到解决方案:

SalesFormLetter salesFormLetter;
QueryRun queryRun;
Query query;
str strSalesTable = "V683904, V683905, V683906";
;
salesFormLetter = SalesFormLetter::construct(DocumentStatus::PackingSlip);
query = new Query(QueryStr(SalesUpdate));
query.dataSourceTable(tablenum(SalesTable)).addRange(fieldnum(SalesTable, SalesId)).value(strSalesTable);
queryRun = new QueryRun(query);

salesFormLetter.chooseLinesQuery(queryRun);
salesFormLetter.transDate(systemdateget());
salesFormLetter.specQty(SalesUpdate::All);
salesFormLetter.printFormLetter(false);

salesFormLetter.createParmUpdate();
salesFormLetter.chooseLines(null,true);
salesFormLetter.reArrangeNow(true);
salesFormLetter.run();
结案