Перекрестные ссылки хранятся в базе данных 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)
Обязательно скомпилируйте приложение для обновления данных перекрестных ссылок. В противном случае запрос может дать неверные результаты. Когда я выполняю этот запрос в среде PU27 версии 10.0.3, в результате он возвращает одну стандартную метку.
![ResultOfQueryForUnusedLabels](https://i.stack.imgur.com/nRhoE.png)