【问题标题】:AX 2012 Vendor Prepayments PostingAX 2012 供应商预付款过帐
【发布时间】:2023-06-08 21:16:01
【问题描述】:

AX 2012 中有一个称为供应商预付款的新功能。它基本上允许公司在收到任何货物之前预付款给供应商。这在 AX 2009 中不存在。因此,用户基本上可以将预付款记录附加到采购订单,然后过帐称为预付款发票的内容。当货物最终到达时,此预付款发票将应用于“真实”供应商发票并结算。它非常简单,我想是合乎逻辑的。

我的要求是通过 X++ 中的代码过帐此预付款发票。

如果我尝试使用下面的 PurchFormLetter 类,它将发布真实发票,这在预付款的情况下是不正确的,没有库存交易。

purchFormLetter = PurchFormLetter::construct(DocumentStatus::Invoice);
purchFormLetter.update(purchTable,
                       '8001',
                       systemDateGet(),
                       PurchUpdate::All,
                       AccountOrder::None,
                       NoYes::No,
                       NoYes::Yes);

我在 AX 开发指南、谷歌、博客上四处寻找,但没有任何帮助。

有人知道吗?

【问题讨论】:

    标签: axapta dynamics-ax-2012 x++


    【解决方案1】:

    我相信你应该研究一下 PurchPrepayTable 表格逻辑和 PurchPrepayTable 表格。如果您对单个采购订单使用单个预付款,那么您可以使用 PurchPrepayTable.PurchTable 将预付款与购买链接。 如果您愿意通过调用 X++ 代码来实现这一点,我建议:

    • 检查采购订单是否存在任何 PurchPrepayTable;
    • 如果是,请更新它(请确保在此之前运行所有验证);
    • 如果没有 - 创建新的预付款(另请参阅 PurchPrepayTable 表方法以确保预付款中的值通过所有验证)。

    【讨论】: