Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta AX 2012供应商预付款过账_Axapta_Dynamics Ax 2012_X++ - Fatal编程技术网

Axapta AX 2012供应商预付款过账

Axapta AX 2012供应商预付款过账,axapta,dynamics-ax-2012,x++,Axapta,Dynamics Ax 2012,X++,AX 2012中有一个新功能称为供应商预付款。它基本上允许一家公司在收到任何货物之前向供应商预付货款。这在2009年是不存在的。因此,用户基本上可以将预付款记录附加到采购订单上,然后发布称为预付款发票的内容。当货物最终到达时,此预付款发票将应用于“真实”供应商发票并结算。这很简单,我想是合乎逻辑的 我的要求是在X++中通过代码进行预付款发票过账 如果我尝试使用下面的PurchFormLetter类,它将发布真实的发票,这与预付款的情况不同,因为没有库存交易 purchFormLetter = P

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

我的要求是在X++中通过代码进行预付款发票过账

如果我尝试使用下面的PurchFormLetter类,它将发布真实的发票,这与预付款的情况不同,因为没有库存交易

purchFormLetter = PurchFormLetter::construct(DocumentStatus::Invoice);
purchFormLetter.update(purchTable,
                       '8001',
                       systemDateGet(),
                       PurchUpdate::All,
                       AccountOrder::None,
                       NoYes::No,
                       NoYes::Yes);
我已经在AX开发指南、谷歌、博客上四处查看过,但没有任何帮助


有人知道这一点吗?

我认为您应该研究PurchPreadwardTable表逻辑和PurchPreadwardTable表形式。如果您对单个采购订单使用单个预付款,则可以使用PurchPreadwardTable.PurchTable将预付款与采购链接。 如果您愿意通过调用X++代码来实现这一点,我建议您:

  • 检查该采购订单是否存在任何PurchPreadward表
  • 如果是,则更新它(请确保在此之前运行所有验证)
  • 如果没有,请创建一个新的预付款(请同时参考PurchPreadwardTable表方法,以确保预付款中的值通过所有验证)