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

时间:2016-12-22 11:20:28

标签: axapta dynamics-ax-2012-r3 aif

我在AX 2012 R3 CU10上。

我需要以XML格式导出Items数据。

我已根据服务操作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的豁免?

1 个答案:

答案 0 :(得分:3)

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