私は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に対して免除する方法を知っていますか?