Переход с устаревшей редакции «Бухгалтерия предприятия» 2.0 на актуальную 3.0 — стандартная, но технически сложная процедура. Часто при обновлении сильно измененных конфигураций, которые при этом находятся на поддержке, разработчики сталкиваются с системной ошибкой: «На удаляемый объект [...] есть ссылки в объектах основной конфигурации». Система блокирует процесс обновления конфигурации базы данных, выводя внушительный список конфликтующих объектов (форм, картинок, реквизитов, разделов справочной информации).
Давайте подробно разберем, почему возникает эта проблема, и проанализируем проверенные на практике способы ее решения.
Прежде чем приступать к исправлению, разберемся в механике работы платформы 1С:Предприятие. На полностью типовой конфигурации («на замке») платформа обновляет метаданные по заранее заложенным сценариям. Она автоматически удаляет устаревшие объекты и переносит связи. Однако, если в конфигурации включена возможность изменения (даже если сами объекты не редактировались вручную), платформа активирует строгую проверку ссылочной целостности метаданных. При попытке обновить конфигурацию система видит ссылки на удаляемые элементы и блокирует операцию.
Основные технические причины конфликта:
Основная форма все еще указывает на старую форму, возникает конфликт.Состав одной из измененных подсистем.Если вы обновляете измененную конфигурацию через стандартное сравнение и объединение файлов конфигурации (.cf), велика вероятность банальной невнимательности. Проанализируем эту ситуацию по шагам:
Для сильно кастомизированных баз ручная очистка сотен конфликтующих ссылок может занять слишком много времени. Рассмотрим наиболее надежный и быстрый алгоритм обхода ограничений платформы через временный возврат на стандартную поддержку:
Конфигурация -> Сохранить конфигурацию в файл...). Сохраните этот .cf файл, он понадобится нам позже для переноса доработок..cf) «Бухгалтерия предприятия» версии 2.0 точно такого же релиза, как и ваша текущая база.Конфигурация -> Загрузить конфигурацию из файла...). Это действие временно сотрет ваши доработки в метаданных (но сохранит все данные в самой СУБД) и вернет конфигурацию на полную поддержку («поставит на замок»).F7).Если вы решили точечно устранить ошибки, не прибегая к полной перезагрузке конфигурации, разберем, как локализовать и исправить конкретные типы предупреждений:
Ситуация А: Ошибка указывает на справочную информацию. Например: «На удаляемый объект есть ссылки в объектах основной конфигурации: Справочная информация».
Справочная информация.Ctrl+A и полностью удалите текст (клавиша Del). Также можно переключить редактор справки в режим HTML-кода и вручную удалить теги со ссылками вида href="...".Ситуация Б: Ошибка указывает на связи форм и объектов. Например: «На удаляемый объект Отчет...Форма.ФормаОтчета есть ссылки в объектах основной конфигурации: Основная форма».
F4).Основная форма (или аналогичное свойство, содержащее ссылку на удаляемый объект) и очистите это поле, нажав на крестик.Таким образом, мы рассмотрели все возможные варианты решения проблемы. Выбор конкретного метода зависит от степени доработки вашей информационной базы и количества возникающих ошибок ссылочной целостности.