1

私は 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 の免除を「表示」させる方法を知っている人はいますか?

4

1 に答える 1

3

システムに AIF スキーマ テーブルを更新させる必要があります。これを行うには、[サービス] の下の AOT でサービスを右クリックし、[アドイン/サービスの登録] をクリックするか、フォーム AifService を開き、[更新] ボタンをクリックしてすべてのサービスを更新します。

于 2016-12-22T15:37:07.600 に答える