3.7 Как работает поиск ссылок на выбранный реквизит объекта конфигурации
Опубликовано:
❓ 3.7 Что именно ищет Конфигуратор при поиске ссылок на реквизит табличной части?
📚 Документация
Заголовок раздела «📚 Документация»-
ИТС: Руководство разработчика — Ссылки на объекты конфигурации.
🧠 Краткая теория
Заголовок раздела «🧠 Краткая теория»Почему здесь легко ошибиться
Заголовок раздела «Почему здесь легко ошибиться»Предположим, в дереве конфигурации выбран реквизит:
Документ ЗаказКлиента
└── Табличная часть Состав
└── Реквизит Номенклатура
Для него выполняется команда «Поиск ссылок на объект».
При этом у реквизита Номенклатура установлен тип:
СправочникСсылка.Номенклатура
Возникает вопрос: что будет искать Конфигуратор — справочник Номенклатура, объекты с таким же именем или типом либо ссылки именно на выбранный реквизит?
Для понимания результата важно определить, что является объектом поиска.
Что является объектом поиска
Заголовок раздела «Что является объектом поиска»При выполнении команды «Поиск ссылок на объект» объектом поиска является сам выбранный объект метаданных:
Документ.ЗаказКлиента
.ТабличнаяЧасть.Состав
.Реквизит.Номенклатура
Его имя Номенклатура и тип СправочникСсылка.Номенклатура являются свойствами этого реквизита, но не заменяют сам объект метаданных, относительно которого выполняется поиск.
Два разных реквизита могут иметь одинаковое имя и одинаковый тип, но оставаться разными объектами метаданных:
ЗаказКлиента.Состав.Номенклатура
↓
СправочникСсылка.Номенклатура
РеализацияТоваров.Товары.Номенклатура
↓
СправочникСсылка.Номенклатура
Что ищет «Поиск ссылок на объект»
Заголовок раздела «Что ищет «Поиск ссылок на объект»»Команда «Поиск ссылок на объект» позволяет определить, какие объекты конфигурации ссылаются на выбранный объект.
То есть Конфигуратор ищет объекты, в составе которых использован именно реквизит Номенклатура табличной части Состав документа ЗаказКлиента.
В зависимости от заданной области поиск выполняется, например, в свойствах, формах, макетах и других доступных в диалоге областях.
При этом совпадение имени Номенклатура или типа СправочникСсылка.Номенклатура само по себе не означает наличие ссылки на выбранный реквизит.
Область поиска
Заголовок раздела «Область поиска»Перед выполнением поиска можно указать область, в которой Конфигуратор будет искать ссылки.

Не путать с «Поиском ссылок в объекте»
Заголовок раздела «Не путать с «Поиском ссылок в объекте»»Команда «Поиск ссылок в объекте» работает в другом направлении.
| Команда | Что анализируется |
|---|---|
| Поиск ссылок на объект | Какие объекты ссылаются на выбранный объект |
| Поиск ссылок в объекте | На какие объекты ссылается выбранный объект |
Например, при выполнении «Поиска ссылок в объекте» для реквизита Номенклатура среди результатов может присутствовать:
Справочник.Номенклатура
поскольку он связан с реквизитом через его тип.
Но связи могут присутствовать и в других свойствах реквизита, например в:
ПараметрыВыбора;СвязиПараметровВыбора;- других свойствах, содержащих ссылки на объекты метаданных.
Поэтому результат «Поиска ссылок в объекте» может быть шире:
Объект "...ТабличнаяЧасть.Товары.Реквизит.Номенклатура" ссылается на: Справочник.Номенклатура Документ.ЗаказКлиента.Реквизит.НалогообложениеНДС Документ.ЗаказКлиента.ТабличнаяЧасть.Товары.Реквизит.НоменклатураПартнера Документ.ЗаказКлиента.ТабличнаяЧасть.Товары ...
То есть «Поиск ссылок в объекте» не сводится к просмотру свойства Тип: учитываются связи, присутствующие и в других свойствах объекта.
Что изменилось в платформе 8.3.27
Заголовок раздела «Что изменилось в платформе 8.3.27»Для поиска ссылок и других операций рефакторинга Конфигуратор использует поисковый индекс.
Он используется при:
- поиске ссылок;
- переименовании объектов конфигурации;
- удалении объектов конфигурации.
До платформы 8.3.27 поисковый индекс начинал строиться непосредственно при начале операции, которой он требовался.
Начиная с 8.3.27 поисковый индекс строится заранее, в отдельном фоновом потоке при запуске Конфигуратора.
Построенный индекс сохраняется на диске между сеансами работы Конфигуратора, а при повторном запуске считывается с диска в фоновом режиме.
Фоновое построение можно отключить параметром:
/DisableBackgroundIndexBuild
В этом случае индекс начинает строиться при первом выполнении операции, которая его использует. Выполнение операции продолжается после завершения построения индекса.
🧠 Ключевая мысль
Заголовок раздела «🧠 Ключевая мысль»При «Поиске ссылок на объект» Конфигуратор работает с конкретным выбранным объектом метаданных, а не с совпадением его имени или типа.
Если выбран реквизит Номенклатура табличной части Состав документа ЗаказКлиента, поиск выполняется по ссылкам именно на этот реквизит.
«Поиск ссылок в объекте» работает в противоположном направлении и показывает связи выбранного объекта с другими объектами конфигурации, в том числе через его свойства.