XPO导入 - 由于缺少字段,关系不完整

时间:2013-01-15 23:10:23

标签: tfs tfsbuild axapta dynamics-ax-2012

我已经建立了相当长一段时间的版本。为此,我使用Microsoft为AX 2012(Build and deploy scripts for Microsoft Dynamics AX 2012

提供的脚本

在脚本中需要进行一些调整以使TFS以它应该的方式工作,并且还涉及一些额外的操作,因为我们在startupPost中有代码(由于修改而在预编译中使用消息窗口而不是编译器输出形式sysSetupFormRun类)

但是现在几周来困扰我的是XPO导入。提供的脚本使用最新的CombineXPO tool将从TFS获取的所有XPO文件合并到一个大型XPO中。完成后,XPO将在Axe中导入。

这里真正的问题是我不相信XPO导入,因为我们经常看到大量的错误,如:

编译器错误:\数据字典\ Tables \ EPSICParameters \ EPSICParameters:由于缺少字段,关系货币不完整

实际上Ax中没有字段,但是当我查看应该导入的XPO时,会出现关系字段,表明源是从TFS中获取的。

REFERENCE #Currency
    PROPERTIES
      Name                #Currency
      Table               #Currency
      RelatedTableCardinality   #ZeroOne
      Cardinality         #ZeroMore
      RelationshipType    #Association
      UseDefaultRoleNames #Yes
    ENDPROPERTIES

    FIELDREFERENCES
      REFERENCETYPE PKFK
      PROPERTIES
        Field               #CurrencyCode
        RelatedField        #CurrencyCode
        SourceEDT           #CurrencyCode
      ENDPROPERTIES

    ENDFIELDREFERENCES
  ENDREFERENCE

任何可以帮助我的人?这个东西真的阻止了我们使用Ax的自动构建,因为我们根本无法判断下一个构建何时运行正常:s

2 个答案:

答案 0 :(得分:3)

我也有这个错误。我认为造成这种情况的根本原因是当您将EDT拖放到表上以创建字段时自动创建关系,然后重命名该字段以破坏表关系。但是,EDT关系仍将在该字段上工作,前端/ GUI不会中断。例如,将HcmApprover EDT拖到表上会提示您询问是否要将EDT中的ForeignKey关系添加到当前表中?如果您说“是”,然后将该字段从HcmApprover重命名为其他内容,则表关系将中断。但是,前端似乎可以正常工作(您可能仍然可以看到工作下拉列表以查看来自HCM模块的雇佣工作人员)。

我不是肯定的,但我认为GUI仍然有效,因为该字段本身的EDT关系导致前端仍能正常运行。

无论哪种方式,如果您拖放EDT(这不仅仅是EDT)来创建字段并进行任何重命名,请确保手动重命名相应的自动/框架生成的“东西”(即由您重命名) )。

答案 1 :(得分:1)

尝试两次导入,忽略第一次运行时的任何错误。