Axapta AX 2012 AIF出站端口数据策略-覆盖必填字段

Axapta AX 2012 AIF出站端口数据策略-覆盖必填字段,axapta,dynamics-ax-2012-r3,aif,Axapta,Dynamics Ax 2012 R3,Aif,我在AX 2012 R3 CU10上 我需要以XML格式导出项目数据 我已经根据服务操作创建了一个出站AIF端口EcoResProductService.read 选择数据策略时,AX不允许我取消选中/EcoResProduct/Product/Translation/LanguageId(灰显)的复选框,因为这是基础表中的必填字段。 可以通过将其添加到AxBC类的initMandatoryFieldsExemptionList方法来覆盖该属性。范例 因此,我在\Classes\AxEcoRes

我在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客户端配置>选项卡:连接> 按钮:刷新配置
当我将我的代码与标准代码进行比较时,比如在
AxAssetTable
上,那里的
initMandatoryFieldsExemptionList
被实现并正常工作。
AssetId
在该资产的数据策略中不会灰显


有人知道如何让AX“看到”我对LanguageId的豁免吗?

您需要让系统更新AIF架构表。您可以通过右键单击服务下AOT中的服务并单击加载项/注册服务,或者打开表单AifService并单击刷新按钮来更新所有服务