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

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

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

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

Способ 1. Соблюдение строгой цепочки промежуточных релизов

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

  1. Откроем таблицу поддерживаемых релизов для устанавливаемой версии конфигурации (файл ReadMe.txt или официальный перечень на портале обновлений).
  2. Проверим текущую версию конфигурации через меню Справка – О программе (например, 3.0.46.16).
  3. Выполним последовательное обновление через промежуточные контрольные точки без пропуска релизов. Например, цепочка переходов может выглядеть так: 3.0.46.16 → 3.0.47.28 → 3.0.48.22 → 3.0.49.17 → 3.0.49.20.
  4. После каждого промежуточного обновления обязательно применим изменения к конфигурации базы данных (нажатием клавиши F7) и проверим корректность запуска в режиме 1С:Предприятие.

Способ 2. Установка соответствия объектам поставщика в окне объединения

Если обновление выполняется через режим Конфигурация – Сравнить, объединить с конфигурацией из файла (или при обновлении через файл поставщика .cf), необходимо правильно настроить правила обработки удаляемых объектов. Рассмотрим последовательность действий:

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

Способ 3. Ручная очистка недействительных ссылок

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

  1. В исходной конфигурации (до объединения) найдем объект, на который ругается платформа (например, откроем ОбщаяФорма.ИнформационнаяПанель).
  2. Перейдем на вкладку Справка (справочная информация формы) или проверим свойства элементов формы (кнопки, декорации, гиперссылки).
  3. Удалим привязку к картинке ОбщаяКартинка.ГлавноеМеню, очистив соответствующее свойство или удалив тег с изображением из текста HTML-справки.
  4. Сохраним изменения в конфигураторе (клавиша F7) и повторно запустим процедуру обновления конфигурации.

Способ 4. Возврат конфигурации на типовую поддержку

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

  1. Обязательно создадим полную резервную копию информационной базы (через выгрузку .dt или средствами СУБД).
  2. Получим типовой файл конфигурации (.cf) в точности того же релиза, который установлен в базе (например, 3.0.47.28).
  3. В меню конфигуратора выберем Конфигурация – Загрузить конфигурацию из файла... и укажем типовой .cf.
  4. После применения изменений база вернется на полную поддержку («на замок»), после чего последующие обновления будут выполняться в штатном автоматическом режиме без ошибок целостности.
← На главную