approveVariance 上的事件处理程序订阅

Event handler subscription on approveVariance

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

这里是处理程序的代码:

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

   vendInvoiceInfoTable = _args.getThis();

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

天哪,如果我自己选中和取消选中该复选框,那就太好了。我说的是在带有标签的 VendInvoiceMatchingDetails 表单上找到的复选框:

 Approve posting with matching discrepancies.

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

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

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

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

当您编写代码时,它最初编译成 P-Code,由 AX 运行时环境解释。当您构建 CIL 时,它 interprets/compiles 将 p 代码写入 CIL。

当您说 "older .dll" 时,它更像是最有可能位于 c:\Program Files\Microsoft Dynamics AX\Server\[aos]\bin\XppIL\source

中的旧 *.xpp 文件

Here's a great article on the CIL