Как найти и удалить скрытые ссылки в «Справочной информации» объектов 1С, мешающие обновлению?

Программист 1С v8.3 (Управляемые формы)
← На главную

В процессе сопровождения и обновления сложных прикладных решений на платформе 1С:Предприятие 8, таких как «Бухгалтерия государственного учреждения» (БГУ 2.0) или «ERP Управление предприятием», программисты часто сталкиваются с ситуацией, когда система блокирует применение изменений. Одной из самых неочевидных причин такой блокировки являются ссылки на удаляемые объекты метаданных, спрятанные внутри справочной информации форм или самих объектов. Рассмотрим подробнее, почему это происходит, как работает механизм поиска таких ссылок и каким образом их корректно вычистить из конфигурации.

Проблема: фантомные ссылки при обновлении

Типичная ситуация: вы запускаете обновление конфигурации (например, переход на новую версию БГУ, использующую актуальные подсистемы БСП). В процессе сравнения и объединения система сообщает, что объект ОбщаяФорма.НастройкаОнлайнПоддержки должен быть удален, так как он больше не используется в новой версии. Однако при попытке нажать кнопку «Принять» система выдает ошибку: «На удаляемый объект есть ссылки в объектах основной конфигурации».

Проанализируем причину. Платформа 1С строго следит за ссылочной целостностью метаданных. Если один объект (например, форма настройки) ссылается на другой объект (общую форму), удаление последнего приведет к нарушению логики работы программы. Самое интересное начинается тогда, когда вы проверяете все реквизиты, модули и командный интерфейс, но не находите там никаких упоминаний удаляемого объекта.

Где ищет инструмент «Поиск ссылок в объекте»?

Разберем по шагам работу штатного механизма конфигуратора. Инструмент «Поиск ссылок в объекте» сканирует не только явные связи (типы реквизитов, параметры команд, модули), но и скрытые данные свойств. Одним из таких свойств является Справочная информация (Help).

Свойство Справочная информация представляет собой HTML-документ, который хранится внутри метаданных объекта. В этом документе могут присутствовать гиперссылки на другие разделы справки или непосредственно на объекты конфигурации (формы, отчеты, справочники). Платформа интерпретирует такие гиперссылки как полноценные зависимости. Если в тексте справки прописан путь к форме через внутренний протокол v8help://, объект будет считаться «используемым».

Как выявить ссылку в справочной информации

Если в окне сообщений конфигуратора вы видите путь вида Обработка.ПанельАдминистрированияБСП.Форма.ИнтернетПоддержкаИСервисы.Справочная информация, это прямой указатель на то, что проблема кроется в тексте справки. Выясним, как найти это место визуально:

  1. Найдем объект в дереве метаданных (в нашем примере это форма ИнтернетПоддержкаИСервисы обработки ПанельАдминистрированияБСП).
  2. Откроем палитру свойств этого объекта (или формы).
  3. Найдем строку Справочная информация и нажмем на кнопку открытия (лупа).
  4. В открывшемся редакторе справки мы увидим визуальное представление текста.

Удаление ссылок через редактор HTML

Зачастую визуальный редактор справки не показывает служебную информацию в явном виде. Ссылка может быть «привязана» к картинке, кнопке или просто остаться в виде пустого тега после некорректного редактирования. В этом случае нам поможет режим просмотра исходного кода. Посмотрим на пример того, как это выглядит «под капотом»:

Внутри HTML-кода справки ссылка на объект конфигурации обычно оформляется следующим образом:


<a href="v8help://content/60d375a0-d79e-11e0-8101-001517c2471c">Открыть настройку поддержки</a>

Где 60d375a0-d79e-11e0-8101-001517c2471c — это внутренний идентификатор (UUID) удаляемого объекта. Чтобы решить проблему, необходимо:

Почему это критично для БСП и типовых конфигураций?

Рассмотрим ситуацию на примере БГУ 2.0. При обновлении подсистем БСП (Библиотеки стандартных подсистем) разработчики 1С часто проводят рефакторинг: старые формы настроек удаляются, а их функционал переносится в новые, более универсальные механизмы. Однако в текстах «Справки» для администраторов могут оставаться описания старых механизмов с активными ссылками на них.

Поскольку Справочная информация является частью метаданных, она подлежит контролю целостности. Платформа не позволит вам «сломать» справку, удалив объект, на который она ссылается, так как это приведет к ошибке «Объект не найден» у пользователя при попытке перехода по ссылке из режима предприятия.

Профессиональные советы по поиску зависимостей

Проанализируем ситуацию шире. Если удаление объекта все равно блокируется, хотя вы почистили справку, рекомендуем выполнить следующие действия:

  1. Использовать «Поиск ссылок в конфигурации» (не в конкретном объекте, а общий поиск). Это позволит увидеть ссылки в Предопределенных данных, Функциональных опциях или Параметрах команд, которые могли быть упущены.
  2. Проверить Командный интерфейс. Часто ссылки остаются в панелях навигации или панелях действий разделов.
  3. Если объект используется в Расширениях, ссылки в них также будут блокировать изменения в основной конфигурации.

Важно помнить, что свойство Справочная информация может быть задано как для всей конфигурации в целом, так и для каждого объекта метаданных (справочника, документа) и даже для каждой отдельной формы. При обновлении типовых решений чаще всего страдают формы «Панелей администрирования», так как они содержат наиболее объемные разделы помощи с множеством перекрестных ссылок.

Таким образом, мы выяснили, что поиск ссылок в объекте — это комплексная операция. Своевременное обнаружение и удаление устаревших связей в HTML-коде справочной информации позволяет успешно завершить обновление конфигурации и поддерживать информационную базу в актуальном и рабочем состоянии.

← На главную