Axapta 按代码输入采购订单接收数量

Axapta 按代码输入采购订单接收数量,axapta,Axapta,在采购订单表单-行-选项卡数量中,有已收货、发货提醒和已订购 我希望能够通过X++代码输入这些字段,因为目前我们公司仍在旧系统中输入数据 我可以从旧系统中检索到货采购订单货物数据,然后我想通过代码将检索到的数据输入Axapta 当这样做时,我应该考虑什么样的桌子和场地? 哪些功能可用于轻松更新每个采购订单行的接收数量? 示例代码很好。如何创建采购订单 销售订单的示例代码可在中找到 跳过或翻译德语文本,代码在底部,基本的是createLine方法调用。全球取代purch的销售将为您带来好处 哪些字

在采购订单表单-行-选项卡数量中,有已收货、发货提醒和已订购

我希望能够通过X++代码输入这些字段,因为目前我们公司仍在旧系统中输入数据

我可以从旧系统中检索到货采购订单货物数据,然后我想通过代码将检索到的数据输入Axapta

当这样做时,我应该考虑什么样的桌子和场地? 哪些功能可用于轻松更新每个采购订单行的接收数量?
示例代码很好。

如何创建采购订单

销售订单的示例代码可在中找到

跳过或翻译德语文本,代码在底部,基本的是createLine方法调用。全球取代purch的销售将为您带来好处

哪些字段要考虑?

一批又一批,但从标识号、数量和物品单位开始

数量以采购单位PurchQty和库存单位QtyOrdered表示。您必须同时设置这两个参数,但createLine的其中一个参数将为您完成此操作

更新:

要更新收到的数量,您必须更新装箱单。除了更新数量,它还更新/创建库存交易记录

您可以通过更新PurcLine表上的PurchReceivedNow和InventReceivedNow字段来完成此操作,第二个字段可以通过调用setInventReceivedNow方法来设置

然后更新装箱单,您将需要采购订单和装箱单id:

void postPackingSlip(PurchTable purchTable, PackingSlipId packingSlipId)
{
    PurchFormLetter letter = PurchFormletter::construct(DocumentStatus::PackingSlip, true);    
    letter.update(purchTable, packingSlipId, letter.transDate(), PurchUpdate::ReceiveNow);
}

我误解你了吗?采购是否已经创建,您只想更新装箱单?行已经创建,我只想更新收到的数量,从旧系统获取数据。问题是我不知道应该更新哪个字段,或者应该使用什么函数来更好地更新它。。。因为我跟踪时,显示字段是PurcLineType类中的函数receivedInTotal…PurchReceiveNow和InventReceiveNow上的值与我们收到的货物数量相同?我刚刚尝试过,但出现错误:交易类型采购的账号,装箱单采购不存在。交易类型采购、装箱单采购抵销的账号不存在。已取消发布。操作取消您必须进行调试才能找到确切原因。如果搜索错误消息,则可能出现的错误点为:\Classes\ledgervouchertranobject\check