有什么方法可以找到 D365 FO 中未使用的标签(没有参考的标签)?
1 回答
3
交叉引用存储在数据库中DYNAMICSXREFDB
。您可以使用sql查询来生成没有引用的标签列表。
此查询使用数据库中的两个表:
Names
为应用程序中可以引用的每个对象保存一个条目。- 表的
Path
字段保存对象的名称(例如标签文件中/Labels/@FormRunConfiguration:ViewDefaultLabel
的路径。ViewDefaultLabel
FormRunConfiguration
- 字段
Id
用于在其他表中引用该表中的一条记录。
- 表的
References
保存连接对象的实际引用。- Field
SourceId
包含引用由 field 标识的另一个对象的对象Id
的记录。Names
TargetId
- Field
实际查询可能如下所示:
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 环境中运行此查询时,它会返回一个标准标签作为结果。
于 2019-07-02T16:27:02.283 回答