[英]How to find unused/non-dependent fields of any entity in CRM 2011?
我试图识别Microsoft Dynamics CRM 2011中任何实体的未使用或非依赖字段。 未使用的或非依赖的是指未在任何实体形式中使用的字段。
我已经用谷歌搜索找到相同的主题,但无法获得理想的结果。 我遇到的一个链接也无法解决此问题: 查找未使用的CRM字段
首先,我应该注意,仅检查字段是否不在表单上并不意味着该字段未在某处使用。 如果您有第三方集成或在实体上运行的其他逻辑,则可能会更新隐藏字段。 如果不确定是否为属性存储了数据,则可以在条件为该属性不为null的情况下执行检索请求。 如果什么都没有回来,那么该属性将不会存储任何数据。
假设已经很清楚了,您要做的就是利用Dynamics CRM的依赖性跟踪来检查各个属性的依赖性。
这是有关CRM 2011依赖性跟踪的完整文章: http : //msdn.microsoft.com/zh-cn/library/gg309749.aspx
听起来最像您要找的请求是RetrieveDependentComponentsRequest
。 根据您要查找的内容以及根据文档,此请求似乎是最接近的匹配项:
返回直接依赖于解决方案组件的解决方案组件的依赖关系列表。 例如,当您将此消息用于全局选项集解决方案组件时,将返回表示任何引用全局选项集解决方案组件的选项集属性的解决方案组件的依赖项记录。 当您将此消息用于帐户实体的解决方案组件记录时,将返回代表该实体使用的属性,视图和表单的所有解决方案组件的依赖项记录。
完成您正在寻找的基本步骤将是:
RetrieveEntityRequest
以检索特定实体的所有属性 RetreiveDependentComponentsRequest
,在其中将ObjectId
设置为属性的MetadataId
,并将ComponentType
设置为2(属性)。 EntityCollection
属性,以查看是否有任何依赖项的ComponentType
为24(窗体)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.