approveVariance

时间:2016-05-24 12:34:56

标签: microsoft-dynamics dynamics-ax-2012 dynamics-ax-2012-r3

我在approveVariance中的VendInvoiceInfoTable方法创建了一个事件处理程序订阅。

以下是处理程序的代码:

public static void postApprovingPendingInvoice(XppPrePostArgs _args)
{
   VendInvoiceInfoTable vendInvoiceInfoTable;

   vendInvoiceInfoTable = _args.getThis();

   info(vendInvoiceInfoTable.PurchId + " from handler");
}

如果我自己检查并取消选中该复选框,那么所有上帝和罚款。我在谈论VendInvoiceMatchingDetails表单上带有标签的复选框:

 Approve posting with matching discrepancies.

从批处理中调用approveVariance时出现问题。不再访问处理程序。

这是正确的行为吗?这有什么有效的方法吗?

我想我可以在util类中创建一个静态方法,并在每次调用approveVariance时调用它并发送一个特定的参数。我只是试着遵循最佳实践。

1 个答案:

答案 0 :(得分:1)

正如Matej所说,你需要在CIL(通用中间语言)中批量运行构建CIL(增量或完整)。

编写代码时,它最初编译为P-Code,由AX运行时环境解释。构建CIL时,它会将p代码解释/编译到CIL中。

当您说'#34;较旧的.dll"时,它更像是*.xpp

中最有可能位于c:\Program Files\Microsoft Dynamics AX\60\Server\[aos]\bin\XppIL\source的旧文件

Here's a great article on the CIL