在采购订单表格 - 行 - 选项卡数量中,有收到,交货提醒和已订购。
我希望能够通过 X++ 代码输入这些字段,因为目前我们公司仍在将数据输入到旧系统中。
我可以从旧系统中检索到货采购订单货物数据,然后我想通过代码将这些检索到的数据输入 Axapta。
这样做时我应该考虑什么表和字段?有哪些功能可以轻松更新每个订单行接收数量?示例代码很好。
在采购订单表格 - 行 - 选项卡数量中,有收到,交货提醒和已订购。
我希望能够通过 X++ 代码输入这些字段,因为目前我们公司仍在将数据输入到旧系统中。
我可以从旧系统中检索到货采购订单货物数据,然后我想通过代码将这些检索到的数据输入 Axapta。
这样做时我应该考虑什么表和字段?有哪些功能可以轻松更新每个订单行接收数量?示例代码很好。
如何创建采购订单?
销售订单的示例代码可以在jinx 的 AX 博客中找到。
跳过或翻译德语文本,代码在底部,关键是createLine
方法调用。将“销售”全球替换为“采购”将为您解决问题。
需要考虑哪些领域?
很多很多,但从识别号、数量和项目单位开始。
数量以采购单位 ( PurchQty
) 和库存单位 ( QtyOrdered
) 为单位。您必须同时设置两者,但其中一个参数createLine
将为您完成。
更新:
要更新收到的数量,您必须更新装箱单。除了更新数量之外,它还会更新/创建库存交易。
您可以通过更新表上的PurchReceivedNow
和InventReceivedNow
字段来做到这一点PurchLine
,第二个字段可以通过调用setInventReceivedNow
方法来设置。
然后更新装箱单(您将需要采购订单和装箱单 ID):
void postPackingSlip(PurchTable purchTable, PackingSlipId packingSlipId)
{
PurchFormLetter letter = PurchFormletter::construct(DocumentStatus::PackingSlip, true);
letter.update(purchTable, packingSlipId, letter.transDate(), PurchUpdate::ReceiveNow);
}