В процессе обновления конфигураций 1С:Предприятие (в частности, типовой «1С:Бухгалтерии предприятия») на новые релизы разработчики и администраторы нередко сталкиваются с ситуацией, когда процесс обновления прерывается сообщениями о нарушении ссылочной целостности. Платформа выдает список служебных предупреждений следующего вида:
На удаляемый объект ОбщийМодуль.ФайловыеФункцииСлужебный есть ссылки в объектах основной конфигурации: Подсистема.СтандартныеПодсистемы.Подсистема.ФайловыеФункции.СоставНа удаляемый объект Обработка.ПанельАдминистрированияБИП есть ссылки в объектах основной конфигурации: Подсистема.ИнтернетПоддержкаПользователей.Подсистема.НастройкиПрограммы.Состав
Разберем детально, почему возникает подобная ошибка, как устроена ссылочная целостность в платформе 1С:Предприятие 8 и какими способами можно успешно завершить обновление информационной базы.
Проанализируем механизм обновления конфигураций. Ошибка возникает в тех случаях, когда информационная база находится в режиме поддержки с возможностью изменения (так называемый «желтый кубик» или «снята с полной поддержки»), либо если обновление выполняется через механизм сравнения и объединения.
В очередном релизе конфигурации разработчик фирмы «1С» оптимизирует структуру: устаревшие общие модули или обработки исключаются из состава Библиотеки стандартных подсистем (БСП) или подсистемы Интернет-поддержки пользователей (БИП), а сами объекты метаданных удаляются. Соответственно, в новой конфигурации поставщика свойство Состав указанных подсистем уже не содержит ссылок на эти объекты.
Однако если в вашей основной конфигурации данные подсистемы открыты для редактирования, платформа 1С по умолчанию защищает пользовательские настройки и не перезаписывает свойство Состав автоматически. В итоге возникает логический тупик: платформа пытается удалить неиспользуемый общий модуль по правилам конфигурации поставщика, но не может этого сделать, поскольку в основной конфигурации на него все еще ссылается свойство Состав родительской подсистемы.
Это самый быстрый и распространенный способ решения проблемы, не требующий предварительного изменения метаданных вручную. Рассмотрим пошаговый порядок действий:
Общие → Подсистемы.СтандартныеПодсистемы → ФайловыеФункции;ИнтернетПоддержкаПользователей → НастройкиПрограммы.Если по каким-то причинам окно сравнения и объединения не позволяет корректно применить правила к подсистемам, очистим состав вручную до начала процесса накатывания обновления. Разберем этот вариант по шагам:
Общие → Подсистемы.ФайловыеФункции (внутри подсистемы СтандартныеПодсистемы) и откроем ее окно свойств.Состав нажмем кнопку открытия списка объектов.ФайловыеФункцииСлужебный, ФайловыеФункцииСлужебныйВызовСервера, ФайловыеФункцииСлужебныйКлиент, ФайловыеФункцииСлужебныйКлиентПовтИсп, ФайловыеФункцииСлужебныйКлиентСервер и снимем с них флажки.ИнтернетПоддержкаПользователей → НастройкиПрограммы, сняв флажок с обработки ПанельАдминистрированияБИП.Проанализируем ситуацию: часто возможность редактирования включается по ошибке, при этом реальных доработок в конфигурации нет. В таком случае оптимальным решением будет полный возврат на заводскую поддержку поставщика.
.dt)..cf) текущей версии, которая установлена в базе до обновления (например, релиз 3.0.51.25)..cf текущей версии.При выполнении любых манипуляций с метаданными обратим внимание на следующие технические аспекты: