Переход между глобальными версиями конфигураций (например, с редакции 11.3 на 11.4 в "Управлении торговлей") — это сложный процесс, который затрагивает не только бизнес-логику, но и глубокие механизмы Библиотеки стандартных подсистем (БСП). Одной из самых частых проблем является нарушение целостности метаданных, связанных с работой в модели сервиса, даже если ваша база данных не используется в "облаке". Разберем по шагам, почему возникают ошибки ссылок на удаляемые объекты и как корректно завершить обновление.
При попытке сравнения и объединения конфигураций или при запуске системы после обновления часто возникают сообщения следующего вида:
"На удаляемый объект Константа.УдалитьКонтекстАвторизации есть ссылки в объектах основной конфигурации:
ПодпискаНаСобытие.КонтрольНеразделенныхОбъектовПриЗаписиБЭД.Источник"
Давайте проанализируем ситуацию. В новой версии 11.4 разработчики 1С решили отказаться от некоторых старых констант, пометив их префиксом Удалить или полностью исключив их из состава метаданных. Однако эти объекты все еще числятся в составе Источников для определенных подписок на события. Когда мы просто убираем галочки или удаляем ссылки вручную, система при запуске в режиме "1С:Предприятие" проводит внутреннюю проверку (валидацию) и выдает новую ошибку:
{ОбщийМодуль.РаботаВМоделиСервиса.Модуль(4561)}: Обнаружены ошибки в структуре метаданных конфигурации:
1. Все объекты метаданных, не входящие в состав разделителей БСП... должны быть включены в состав подписок на события...
Следующие объекты метаданных не удовлетворяют этому критерию: Справочник.ДополнительныеВнешниеКомпоненты, Константа.ИспользоватьСертификатыОблачногоСервисаВЭДО.
Эта ошибка означает, что механизм контроля неразделенных данных обнаружил новые или измененные объекты, которые "забыли" включить в обязательные подписки БСП. Рассмотрим, как решить эту проблему правильно.
Самая распространенная причина подобных сбоев — попытка "перепрыгнуть" через слишком много промежуточных версий. Переход с 11.3.4.228 сразу на 11.4.3.172 может быть некорректным с точки зрения поставщика. Проанализируем рекомендуемый путь обновления:
Важно: Всегда проверяйте таблицу переходов на официальном ресурсе поддержки пользователей 1С (releases.1c.ru). Прямой переход возможен только в том случае, если текущий релиз указан в списке "Обновление версии" для целевого релиза.
Многие программисты совершают ошибку, выполняя обновление через меню "Конфигурация — Сравнить, объединить с конфигурацией из файла", используя полный .cf файл. В этом случае настройки состава подписок на события могут объединиться некорректно.
Рассмотрим правильный алгоритм:
.cfu..cf, убедитесь, что в окне сравнения и объединения вы нажимаете кнопку "Выполнить" с сохранением настроек поддержки.КонтрольНеразделенныхОбъектовПриЗаписиБЭД, система поддержки обычно автоматически исключает удаляемые объекты, если обновление идет через механизм поставки.Если вы уже столкнулись с ошибкой в модуле РаботаВМоделиСервиса, и база отказывается запускаться, необходимо вручную привести метаданные в соответствие с требованиями БСП. Выясним причину: система требует, чтобы все "неразделенные" (общие для всех областей) объекты были подконтрольны специальным подпискам.
Для исправления выполним следующие шаги:
КонтрольНеразделенныхОбъектовПриЗаписи или КонтрольНеразделенныхОбъектовПриЗаписиБЭД).Справочник.ДополнительныеВнешниеКомпонентыКонстанта.ИспользоватьСертификатыОблачногоСервисаВЭДОУдалить... (если на них ругался конфигуратор при сравнении).После этого необходимо обновить конфигурацию базы данных (F7). Система должна пропустить проверку, так как теперь все метаданные соответствуют правилам разделения данных.
Иногда после исправления метаданных база все равно выдает ошибки при старте. В этом случае можно попробовать запустить систему с параметром, который форсирует выполнение процедур обновления:
Параметр запуска: /С ЗапуститьОбновлениеИнформационнойБазы
Этот параметр заставляет БСП пропустить некоторые начальные проверки и перейти сразу к выполнению кода в Справочнике.ИдентификаторыОбъектовМетаданных, что часто помогает "протолкнуть" застрявшее обновление.
При переходе на УТ 11.4 крайне важно обратить внимание на версию технологической платформы. Для корректной работы механизмов БСП в версии 11.4 требуется платформа не ниже 8.3.10.2505, но настоятельно рекомендуется использовать актуальные сборки 8.3.12 и выше. Старые версии платформы могут некорректно обрабатывать состав составных типов в подписках, что и приводит к фантомным ссылкам на удаленные объекты.
Подведем итог: если вы видите ошибки "Контроля неразделенных объектов", это признак того, что автоматическое обновление метаданных БСП не завершилось. Проверьте цепочку релизов, обновите платформу и, при необходимости, вручную добавьте недостающие объекты в источники соответствующих подписок на события.