为什么AOT中的对象标有红叉?

时间:2019-01-25 11:14:45

标签: axapta x++ dynamics-365-operations

我必须扩展报表的查询以添加一个新字段。 我创建了查询扩展,加入了必需的数据源,并且可以在字段列表中看到新字段。 由于某种原因,AOT中的报告显示为带有红色叉号:

So far, this is the image that I have

在属性中,我可以看到元数据中的错误:“读取元数据时出错。请确保元数据xml文件可访问,格式正确并且没有被重复或缺少xml元素损坏。 异常消息为:元素:'Copy1'中已经存在名为'ModelElement'类型的'Copy1'的元素。 参数名称:项目 附加信息: AOT /报告/报告/ WHSInvent”

软件包本地目录中存在该对象的.xml,该报表的任何节点中都没有重复的名称。

任何想法如何解决?

1 个答案:

答案 0 :(得分:2)

我以前曾遇到过这个问题,并且想到两件事。

  1. 通常是由于不正确的合并而导致的,其中合并了更改并且意外地复制了元数据(在您的情况下,.rdl文件中可能有两个具有相同名称/ ID的xml节点) 如果使用损坏的元数据检入了此报告,则需要手动修改RDL文件,虽然它不是很好,但是希望该错误包含足够的提示。在您最喜欢的编辑器中打开报告rdl文件(报告可能位于类似的路径中:K:\ AosService \ PackagesLocalDirectory \ YOURMODEL \ Reports),然后查找具有属性Name =“ Copy1”的xml节点。幸运的是,由于合并,您将有两个相邻的重复节点。删除有问题的重复节点,保存并在Visual Studio中刷新AOT。

  2. 如果错误仅在于您的本地更改(xml文件由于任何原因而损坏),并且您确定源控件包含正确的版本,而您只是希望使用源代码控制的版本覆盖本地内容, 按着这些次序。 注意:这将覆盖本地更改。

首先,撤消待处理的更改。

UndoPendingChanges

然后强制获取最新消息:

GetSpecificVersion1 GetSpecificVersion2