Application update 7.3 での ER フレームワーク API の変更
この記事では、Dynamics 365 Finance、Enterprise Edition のアプリケーション更新プログラム 7.3 での電子申告 (ER) フレームワークの API における変更について説明します。
ER API には 2 つのタイプの変更があります。
- いくつかの X++ クラスが外部アセンブリに X++ から移行されました。
- X++ クラスの残りの部分は、内部としてマークされています。
外部アセンブリに X++ から移行されたクラスへのアクセス方法
外部クラスにアクセスするには、ファイルの先頭に using ディレクティブを追加する必要があります。
using Microsoft.Dynamics365.LocalizationFramework;
たとえば、追加の変更をせずに外部クラスにアクセスすることができます。
var destination = new ERFileDestinationMemory();
名前空間のエイリアスを作成することもできます。
using LF = Microsoft.Dynamics365.LocalizationFramework;
作成した名前空間のエイリアスを使用して、外部のクラスを参照することができます。
var destination = new LF.ERFileDestinationMemory();
ERObjectsFactory を使用して内部 X++ オブジェクトにアクセスする方法
アプリケーションの更新プログラム 7.3 以降では、呼び出し元のコードは ERObjectsFactory クラスのメソッドを使用して ER オブジェクトにアクセスする必要があります。 これらの変更の例をいくつか示します。
フォーマット マッピング ルックアップを表示するコード
アプリケーション 更新 7.3 より前
// pattern
ERFormatMappingTableLookup::lookupFormatMapping(<form control>, <model name>[, <data container name>]);
// sample code
ERFormatMappingTableLookup::lookupFormatMapping(_referenceGroupControl, bankLCMiscChargeReportERModelName);
アプリケーション更新プログラム 7.3 以降
// pattern
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(<form control>, <model name>[, <data container name>]).performFormLookup();
// sample code
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(_referenceGroupControl, bankLCMiscChargeReportERModelName).performFormLookup();
データ エクスポート用のフォーマット マッピングを実行するためのコード
アプリケーション 更新 7.3 より前
// pattern
ERFormatMappingRun::constructByFormatMappingId(<format mapping id>, <file name>, <show prompt dialog>).run();
// sample code
ERFormatMappingRun::constructByFormatMappingId(erBinding, '', true).run();
アプリケーション更新プログラム 7.3 以降
// pattern
ERObjectsFactory::createFormatMappingRunByFormatMappingId(<format mapping id>, <file name>, <show prompt dialog>).run();
// sample code
ERObjectsFactory::createFormatMappingRunByFormatMappingId(erBinding, '', true).run();
データ インポート用の形式マッピングを実行するためのコード
アプリケーション 更新 7.3 より前
// pattern
ERModelMappingDestinationRun::constructByImportFormatMappingId(<mapping id>, <integration point>).run();
// sample code
ERModelMappingDestinationRun::constructByImportFormatMappingId(custPaymModeTable.ERModelMappingTable, CustVendOutPaymConstants::IntegrationPoint).run();
アプリケーション更新プログラム 7.3 以降
// pattern
ERObjectsFactory::createMappingDestinationRunByImportFormatMappingId(<mapping id>, <integration point>).run();
// sample code
ERObjectsFactory::createMappingDestinationRunByImportFormatMappingId(custPaymModeTable.ERModelMappingTable, CustVendOutPaymConstants::IntegrationPoint).run();
ブラウザー ファイルの宛先を作成するためのコード
アプリケーション 更新 7.3 より前
// sample code
new ERFileDestinationBrowser();
アプリケーション更新プログラム 7.3 以降
// sample code
ERObjectsFactory::createFileDestinationBrowser();
添付ファイルの宛先を作成するためのコード
アプリケーション 更新 7.3 より前
// pattern
ERFileDestinationAttachment::construct(<record>, ERDocuManagement::instance().otherDocuType());
// sample code
ERFileDestinationAttachment::construct(_cashRegisterFiscalTrans_W, ERDocuManagement::instance().otherDocuType());
アプリケーション更新プログラム 7.3 以降
// pattern
ERObjectsFactory::createFileDestinationAttachmentWithOtherDocuType(<record>);
// sample code
ERObjectsFactory::createFileDestinationAttachmentWithOtherDocuType(_cashRegisterFiscalTrans_W);