Как исправить ошибку ссылок на удаляемые объекты в подсистемах при обновлении 1С:Бухгалтерии?

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

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

На удаляемый объект ОбщийМодуль.ФайловыеФункцииСлужебный есть ссылки в объектах основной конфигурации: Подсистема.СтандартныеПодсистемы.Подсистема.ФайловыеФункции.Состав
На удаляемый объект Обработка.ПанельАдминистрированияБИП есть ссылки в объектах основной конфигурации: Подсистема.ИнтернетПоддержкаПользователей.Подсистема.НастройкиПрограммы.Состав

Разберем детально, почему возникает подобная ошибка, как устроена ссылочная целостность в платформе 1С:Предприятие 8 и какими способами можно успешно завершить обновление информационной базы.

Выясним причину возникновения ошибки

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

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

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

Способ 1. Обновление подсистем в окне сравнения и объединения

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

  1. Запустим процесс обновления конфигурации штатным способом через меню Конфигурация → Поддержка → Обновить конфигурацию (или через Сравнить, объединить с конфигурацией из файла).
  2. Дождемся открытия окна Сравнение, объединение с конфигурацией поставщика.
  3. В дереве метаданных развернем ветку Общие → Подсистемы.
  4. Найдем проблемные подсистемы и установим на них флажки:
    • СтандартныеПодсистемы → ФайловыеФункции;
    • ИнтернетПоддержкаПользователей → НастройкиПрограммы.
  5. Убедимся, что для этих подсистем выбран режим объединения «Взять из конфигурации поставщика» (замещение свойств). Это действие обновит состав подсистем, убрав из него ссылки на удаляемые модули.
  6. Нажмем кнопку Выполнить и применим изменения к конфигурации базы данных (клавиша F7).

Способ 2. Ручная очистка состава подсистем перед обновлением

Если по каким-то причинам окно сравнения и объединения не позволяет корректно применить правила к подсистемам, очистим состав вручную до начала процесса накатывания обновления. Разберем этот вариант по шагам:

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

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

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

  1. Обязательно создадим резервную копию базы данных через меню Администрирование → Выгрузить информационную базу (файл .dt).
  2. Получим файл поставщика (.cf) текущей версии, которая установлена в базе до обновления (например, релиз 3.0.51.25).
  3. В конфигураторе перейдем в меню Конфигурация → Загрузить конфигурацию из файла и выберем типовой .cf текущей версии.
  4. Подтвердим полную замену метаданных и обновим конфигурацию базы данных (F7).
  5. После возврата на типовой замок запустим стандартное обновление до целевого релиза (3.0.52.xx). Обновление пройдет в автоматическом режиме без конфликтов правил поддержки.

Важные рекомендации и технические ограничения

При выполнении любых манипуляций с метаданными обратим внимание на следующие технические аспекты:

  1. Контроль ссылочной целостности: Платформа 1С:Предприятие 8 блокирует удаление любых объектов метаданных (модулей, реквизитов, справочников), если они входят в состав ролей, подсистем, подписок на события или типов реквизитов. Всегда проверяйте ссылки на объект через контекстное меню Найти ссылки на объект перед его удалением.
  2. Системные требования платформы: Линейка конфигураций «1С:Бухгалтерия» начиная с релиза 3.0.52 переведена на использование новых возможностей платформы и требует версию 1С:Предприятие не ниже 8.3.10 с соответствующим режимом совместимости. Перед обновлением метаданных убедитесь, что версия технологической платформы соответствует требованиям релиза.
  3. Обязательное резервное копирование: Перед любыми операциями в окне сравнения и объединения конфигураций создавайте архивную копию базы данных, чтобы исключить потерю данных при некорректном сопоставлении объектов.
← На главную