Как исправить ошибку «Не удаляемый объект... есть ссылки в объектах основной конфигурации» при обновлении 1С

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

Проанализируем причины возникновения этой проблемы и разберем по шагам действенные способы ее решения. В качестве комплексного решения можно применить методику обновления с выносом доработок в расширение.

Причины возникновения ошибки

Выясним, почему платформа 1С выдает такое предупреждение. Главная причина заключается в разнице между типовой конфигурацией поставщика и вашей рабочей базой:

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

Способ 1. Перенос недостающих объектов и объединение конфигураций

Рассмотрим первый подход, который помогает, если в обновляемой конфигурации удалены объекты, необходимые для работы ваших локальных доработок.

  1. Откроем рабочую базу в режиме Конфигуратор.
  2. Выполним команду меню Конфигурация — Сравнить, объединить с конфигурацией из файла и выберем файл обновления (.cf) новой версии.
  3. При появлении окна сравнения найдем объекты метаданных, на которые ругается система (например, указанный в ошибке ЭлементСтиля.ЦветГиперссылки).
  4. Скопируем или включим недостающие объекты из текущей основной конфигурации в объединяемую, чтобы сохранить структуру ссылок, либо снимeм флаги с их удаления.
  5. Выполним объединение и обновим конфигурацию базы данных (клавиша F7).

Способ 2. Поиск и очистка устаревших ссылок в основной конфигурации

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

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

Способ 3. Проверка режима поддержки и последовательное обновление

Проанализируем правильный порядок действий при переходе между редакциями или версиями конфигурации:

  1. Последовательность релизов. Не следует обновлять базу через несколько крупных версий сразу. Выполняйте обновление строго по цепочке релизов, используя предназначенные файлы обновлений (.cfu).
  2. Предварительное тестирование. Перед выполнением обновления запустите процедуру Тестирование и исправление (меню Администрирование — Тестирование и исправление) с включенными флагами проверки логической и ссылочной целостности.
  3. Анализ изменений. Если объектов с ошибками вываливается много (несколько десятков или сотен), это означает, что с конфигурации были массово сняты ограничения редактирования. В таком случае необходимо последовательно разгрести конфликты изменений для всех измененных метаданных.

Рекомендации по предотвращению ошибок при обновлениях

Чтобы избежать подобных проблем при последующих обновлениях, рекомендуется соблюдать следующие правила архитектуры:

  1. Выносите доработки в расширения. Все новые формы, логику и отчеты следует реализовывать через расширения конфигурации (.cfe), не снимая с поддержки объекты основной конфигурации.
  2. Используйте внешние отчеты и обработки. Дополнительные отчеты лучше подключать через механизм дополнительных внешних обработок, чтобы не менять структуру метаданных основной базы.
  3. Возвращайте типовые объекты на полную поддержку. Если доработка объекта больше не требуется, восстановите для него режим «Не редактируется», чтобы объекты поставщика обновлялись в автоматическом режиме без сбоев.
← На главную