在 2011 Microsoft Dynamics CRM打开某些视图时,表别名别名不唯一

本文提供了在Microsoft Dynamics CRM 2011 更新汇总 12 之后可能无法打开视图的问题的解决方案。

适用范围:Microsoft Dynamics CRM 2011
原始 KB 编号: 2907665

症状

更新汇总 12 后,用户可能无法打开视图。 将高级查找视图类型的视图修改为将相关实体中的字段添加到显示列时,会出现此问题。 使用现装或自定义实体标识问题。

原因

修改视图时,链接实体节点可用两次。 但对于单一类型的链接实体节点,它必须仅可用一次。

解决方案

安装 Microsoft Dynamics CRM 2011 更新汇总 15 解决了安装更新汇总 15 后修改的视图的问题。 在安装引发错误的更新汇总 15 之前标识的现有视图需要手动修复。

下面是一个示例,演示如何修复现有损坏视图上的问题:

这是如何重现问题:

  1. 导航到 “设置”,选择“ 自定义”,选择“ 自定义系统”,指向 “实体”,选择“ 帐户”,然后选择“ 视图”。
  2. 打开 “帐户高级查找视图 ”,然后选择“ 添加列”。
  3. 在“记录类型”下拉列表中选择“主要联系人 (联系人) 相关实体”。
  4. 选中“ 全名” 旁边的复选框,然后选择“ 确定”。
  5. 选择“ 保存 并关闭”。
  6. 选择 “发布所有自定义项”。
  7. 打开 “非活动帐户” 视图,然后选择“ 编辑筛选条件”。
  8. 添加/修改/删除任何筛选条件 (将“状态 = 非活动”更改为“状态 = 活动) ”,选择“ 确定 ”,然后选择“ 保存 并关闭”。
  9. 选择 “发布所有自定义项”。
  10. 同样,在 “非活动帐户” 视图中,选择“ 编辑筛选条件 ”和“添加/修改/删除任何筛选条件” (将“状态 = 活动”更改为“非活动) ”。
  11. 选择“确定”。
  12. 选择“ 保存 并关闭”。
  13. 选择 “发布所有自定义项”。
  14. 转到“高级查找”,在“查找:”下拉列表中选择“帐户”,然后在“使用保存的视图”下拉列表中选择“非活动帐户”。
  15. 选择“ 结果”。

下面介绍了如何修复此问题 (使用上面用于重现问题) 的示例:

  1. 启动 CRM 2011 应用程序。

  2. 导航到 “设置”,指向 “自定义项”,然后选择“ 解决方案”。

  3. 创建新的解决方案,并在其中添加 Account 实体,而不添加任何依赖项。

  4. 现在保存解决方案并将其导出为非托管解决方案。

  5. 保存非托管解决方案 zip 文件后,提取该文件。

  6. 在 XML 编辑器(如 Visual Studio 2012)中打开 customizations.xml 文件,然后在键盘上选择 CTRL+M+M 以折叠完整的 XML。

  7. 搜索引发错误的视图名称。 在这种情况下,它是 非活动帐户 ,并且在整个文件中仅存在一次。

  8. 它将仅展开 XML 中保存的一个查询。

  9. 在本部分中,展开 <fetchxml> 元素并查找 <Link-entity>

  10. 你将看到以下 XML 重复:

    <link-entity name="contact" from="contactid" to="primarycontactid" visible="false" link- type="outer" alias="a_410707b195544cd984376608b1802904">
    
    <attribute name="fullname" />
    
    <attribute name="emailaddress1" />
    
    </link-entity>
    

    它只应存在一次。

  11. customizations.xml 文件中删除此 XML 的一个条目并保存更改。

  12. 现在,使用编辑 的customizations.xml[content_Types].xmlsolution.xml再次压缩文件。

  13. 将此 zip 文件导入到 CRM 应用程序并发布所有自定义项。

  14. 它将修复帐户非活动视图的问题。 这是修复引发此错误的所有其他视图的方法。