axapta - 查找未使用的标签
问题描述
有什么方法可以找到 D365 FO 中未使用的标签(没有参考的标签)?
解决方案
交叉引用存储在数据库中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 环境中运行此查询时,它会返回一个标准标签作为结果。
推荐阅读
- python - pyodbc.ProgrammingError:列的定义
必须包含数据类型 - firefox - 无头 Firefox + userContent.css?
- makefile - Gnu make 有 2 个源文件目录
- python - 如何解析 YouTube 和 SoundCloud?
- python - Django ORM日期字段错误输出
- firebase - Flutter Firebase 包... Streambuilder“snapshot.data.documents”错误
- php - PHP中的Django密码解密(使用盐和密码)
- javascript - 如何从嵌套对象中获取所有键
- notifications - android,它可以在不保存用于构建该通知的构建器的情况下更新活动通知吗
- javascript - 如何在没有 npm 的情况下以纯 HTML 托管两个或多个 JSX 文件?