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);