2016-12-22 8 views
1

私はAX 2012 R3 CU10です。AX 2012 AIF送信ポートデータポリシー - 必須フィールドをオーバーライドします

アイテムデータをXML形式でエクスポートする必要があります。

サービス操作EcoResProductService.readに基づいて、送信AIFポートを作成しました。
データポリシーを選択している間、AXは/EcoResProduct/Product/Translation/LanguageId(グレイアウトされている)のチェックボックスを解除することはできません。これは、基になるテーブルの必須フィールドであるためです。
これは、AxBCクラスのinitMandatoryFieldsExemptionListメソッドに追加することで上書きできます。例here

だから、私は\Classes\AxEcoResProductTranslation\initMandatoryFieldsExemptionList

protected void initMandatoryFieldsExemptionList() 
{ 
    super(); 

    // LanguageId not mandatory 
    this.setParmMethodAsNotMandatory(methodstr(AxEcoResProductTranslation,parmLanguageId)); 

} 

上でそれをオーバーライドしてきましたが、データ方針のチェックボックスがまだその後グレーアウト残ります。
物事は私が試してみた:接続> ボタン:

フォワード
  • 修正AxBCクラス
  • インクリメンタルCIL
  • 再起動AOS
  • AXクライアントの設定>タブのコンパイル更新構成

コードをAxAssetTableのように標準コードと比較すると、initMandatoryFieldsExemptionList実装され、正しく動作します。
AssetIdは、そのデータポリシーでグレー表示されません。

誰かがAXをLanguageIdに対して免除する方法を知っていますか?

答えて

3

システムを入手してAIFスキーマテーブルを更新する必要があります。サービスの下にあるAOTのサービスを右クリックし、アドイン/サービスの登録をクリックするか、AifServiceのフォームを開いて、リフレッシュボタンをクリックしてすべてのサービスを更新します。

関連する問題