0

approveVarianceのメソッドでイベント ハンドラ サブスクリプションを作成しましたVendInvoiceInfoTable

ハンドラーのコードは次のとおりです。

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

   vendInvoiceInfoTable = _args.getThis();

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

チェックボックスを自分でチェックしてチェックを外せば、すべて問題ありません。VendInvoiceMatchingDetails フォームにある label のチェックボックスについて話しています。

 Approve posting with matching discrepancies.

approveVarianceバッチから呼び出されたときに問題が発生します。ハンドラーにはもう到達していません。

これは正しい動作ですか? これに対する有効なアプローチはありますか?

util クラスで静的メソッドを作成し、 が呼び出されるたびにそれを呼び出してapproveVariance、特定のパラメーターを送信できると思います。ベストプラクティスに従おうとしただけです。

4

1 に答える 1

1

Matej が言ったように、CIL (Common Intermediate Language) でバッチを実行するときに、CIL (インクリメンタルまたはフル) をビルドする必要があります。

コードを記述すると、最初に P コードにコンパイルされ、AX ランタイム環境によって解釈されます。CIL をビルドすると、その p コードが CIL に解釈/コンパイルされます。

「古い .dll」と言うと、*.xppおそらく古いファイルのようなものです。c:\Program Files\Microsoft Dynamics AX\60\Server\[aos]\bin\XppIL\source

CILに関する素晴らしい記事はこちら

于 2016-05-25T17:04:43.440 に答える