Найти неиспользуемые ярлыки - PullRequest
3 голосов
/ 20 июня 2019

Есть ли способ найти ярлыки, которые не используются в D365 FO (ярлыки, на которые нет ссылок)?

1 Ответ

2 голосов
/ 02 июля 2019

Перекрестные ссылки хранятся в базе данных DYNAMICSXREFDB. Вы можете использовать запрос для создания списка меток, на которые нет ссылок.

Этот запрос использует две таблицы в базе данных:

  • 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

...