有什么办法可以找到D365 FO中未使用的标签(没有引用的标签)?
答案 0 :(得分:2)
交叉引用存储在数据库DYNAMICSXREFDB
中。您可以使用sql查询来生成没有引用的标签列表。
此查询使用数据库中的两个表:
Names
包含应用程序中每个可以引用的对象的条目。
Path
字段保存对象的名称(例如/Labels/@FormRunConfiguration:ViewDefaultLabel
是ViewDefaultLabel
标签文件中FormRunConfiguration
的路径。Id
用于引用该表中其他表中的一条记录。References
保存连接对象的实际引用。
SourceId
包含对象的Id
记录的Names
,该记录引用了由字段TargetId
标识的另一个对象。实际查询如下:
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版本的环境上运行此查询时,它会返回一个标准标签。