首页 > 解决方案 > 查找未使用的标签

问题描述

有什么方法可以找到 D365 FO 中未使用的标签(没有参考的标签)?

标签: axaptadynamics-365-operations

解决方案


交叉引用存储在数据库中DYNAMICSXREFDB。您可以使用查询来生成没有引用的标签列表。

此查询使用数据库中的两个表:

  • Names为应用程序中可以引用的每个对象保存一个条目。
    • 表的Path字段保存对象的名称(例如标签文件中/Labels/@FormRunConfiguration:ViewDefaultLabel的路径。ViewDefaultLabelFormRunConfiguration
    • 字段Id用于在其他表中引用该表中的一条记录。
  • References保存连接对象的实际引用。
    • FieldSourceId包含引用由 field 标识的另一个对象的对象Id的记录。NamesTargetId

实际查询可能如下所示:

SELECT LabelObjects.Path AS UnusedLabel 
FROM [dbo].[Names] AS LabelObjects
WHERE LabelObjects.Path LIKE '/Labels/%' 
AND NOT EXISTS 
    (SELECT * 
        FROM [dbo].[References] AS LabelReferences 
        WHERE LabelReferences.TargetId = LabelObjects.Id)

确保编译应用程序以更新交叉引用数据。否则查询可能会给你错误的结果。当我在版本 10.0.3 PU27 环境中运行此查询时,它会返回一个标准标签作为结果。

ResultOfQueryForUnusedLabels


推荐阅读