私は AX 2012 R3 CU10 を使用しています。
アイテム データを XML 形式でエクスポートする必要があります。
サービス操作に基づいて、送信 AIF ポートを作成しましたEcoResProductService.read
。
[データ ポリシー] を選択している間、AX では (グレー表示されている) のチェックボックスをオフにできません/EcoResProduct/Product/Translation/LanguageId
。これは、基になるテーブルの必須フィールドであるためです。これは、AxBC クラス
のメソッドに追加することでオーバーライドできます。initMandatoryFieldsExemptionList
例はこちら
だから、私はそれを上書きしました\Classes\AxEcoResProductTranslation\initMandatoryFieldsExemptionList
protected void initMandatoryFieldsExemptionList()
{
super();
// LanguageId not mandatory
this.setParmMethodAsNotMandatory(methodstr(AxEcoResProductTranslation,parmLanguageId));
}
ただし、その後もデータ ポリシーのチェックボックスはグレー表示のままです。
私が試したこと:
AxBC
変更されたクラスのフォワード コンパイル- 増分 CIL
- AOS を再起動します
- AX Client 構成 > タブ:接続 > ボタン:構成の更新
私のコードを on のような標準コードと比較するとAxAssetTable
、そこにinitMandatoryFieldsExemptionList
が実装され、正しく動作します。
AssetId
そのポリシーのデータ ポリシーではグレー表示されません。
AX に LanguageId の免除を「表示」させる方法を知っている人はいますか?