В процессе обновления нетиповых конфигураций или баз, снятых с полной поддержки, разработчики нередко сталкиваются с ситуацией, когда платформа блокирует применение изменений. Окно сообщений выдает ошибку вида: «На удаляемый объект РегистрНакопления... есть ссылки в объектах основной конфигурации: Документ... Форма... Справочная информация». Попытка найти вызовы в модулях форм или реквизитах не приносит результата. Разберем детально, почему возникает эта коллизия и как корректно ее устранить.
Проанализируем механику работы платформы «1С:Предприятие». Встроенная справка объектов и экранных форм представляет собой не просто статический текст, а HTML-документ. Если в тексте этой справки создана внутренняя гиперссылка на другой объект метаданных (например, на РегистрНакопления.Питание_Остатки через внутренний протокол справки), платформа регистрирует ее как жесткую ссылочную связь метаданных.
Когда конфигурация находится в режиме «Редактируется с сохранением поддержки» и выполняется обновление (особенно через полный файл поставки cf с пропуском промежуточных релизов), платформа включает строгий контроль ссылочной целостности. Если разработчик конфигурации удалил регистр в новой версии, но в вашей рабочей конфигурации на форме документа осталась справка со ссылкой на него, платформа запретит удаление объекта до тех пор, пока связь не будет разорвана.
Рассмотрим несколько проверенных способов решения возникшей проблемы.
Самый надежный и правильный путь — удалить некорректные ссылки непосредственно в исходной конфигурации до наката файла обновления. Выполним следующие действия по шагам:
Документ.Питание_Приход, ветка Формы, далее ФормаДокумента и ФормаСписка.Питание_Приход).cf. Контроль ссылочной целостности будет пройден успешно.Если обновляемый файл уже загружается через механизм сравнения и объединения, можно временно сохранить удаляемый объект, чтобы не прерывать процесс:
РегистрНакопления.Питание_Остатки.Если форма документа или документ целиком были сняты с поддержки ошибочно и в них нет пользовательских доработок, правильнее вернуть их на замок поставщика:
При комплексных обновлениях с большим разрывом версий рекомендуется проверять метаданные заранее. В окне сравнения и объединения конфигураций используем команду меню Действия — Поиск неразрешимых ссылок на удаляемые объекты. Данная команда выводит структурированный список всех узлов, ссылающихся на удаляемые элементы, что позволяет устранить подобные конфликты еще до начала применения изменений к базе данных.