Как исправить ошибки метаданных при обновлении 1С:Управление торговлей 11 с версии 11.3 на 11.4?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей
← На главную

Переход между глобальными версиями конфигураций (например, с редакции 11.3 на 11.4 в "Управлении торговлей") — это сложный процесс, который затрагивает не только бизнес-логику, но и глубокие механизмы Библиотеки стандартных подсистем (БСП). Одной из самых частых проблем является нарушение целостности метаданных, связанных с работой в модели сервиса, даже если ваша база данных не используется в "облаке". Разберем по шагам, почему возникают ошибки ссылок на удаляемые объекты и как корректно завершить обновление.

Анализ проблемы: ошибки в подписках на события

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


"На удаляемый объект Константа.УдалитьКонтекстАвторизации есть ссылки в объектах основной конфигурации:
ПодпискаНаСобытие.КонтрольНеразделенныхОбъектовПриЗаписиБЭД.Источник"

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


{ОбщийМодуль.РаботаВМоделиСервиса.Модуль(4561)}: Обнаружены ошибки в структуре метаданных конфигурации:
1. Все объекты метаданных, не входящие в состав разделителей БСП... должны быть включены в состав подписок на события...
Следующие объекты метаданных не удовлетворяют этому критерию: Справочник.ДополнительныеВнешниеКомпоненты, Константа.ИспользоватьСертификатыОблачногоСервисаВЭДО.

Эта ошибка означает, что механизм контроля неразделенных данных обнаружил новые или измененные объекты, которые "забыли" включить в обязательные подписки БСП. Рассмотрим, как решить эту проблему правильно.

Решение 1: Соблюдение строгой последовательности релизов

Самая распространенная причина подобных сбоев — попытка "перепрыгнуть" через слишком много промежуточных версий. Переход с 11.3.4.228 сразу на 11.4.3.172 может быть некорректным с точки зрения поставщика. Проанализируем рекомендуемый путь обновления:

  1. Сначала необходимо обновиться до самого последнего актуального релиза в ветке 11.3 (например, 11.3.4.231).
  2. Затем нужно осуществить переход на первую стабильную версию ветки 11.4.1.х.
  3. Только после успешного запуска в режиме "Предприятие" и завершения всех обработчиков обновления на версии 11.4.1 можно двигаться дальше к релизу 11.4.3.172.

Важно: Всегда проверяйте таблицу переходов на официальном ресурсе поддержки пользователей 1С (releases.1c.ru). Прямой переход возможен только в том случае, если текущий релиз указан в списке "Обновление версии" для целевого релиза.

Решение 2: Использование штатного механизма обновления (CFU)

Многие программисты совершают ошибку, выполняя обновление через меню "Конфигурация — Сравнить, объединить с конфигурацией из файла", используя полный .cf файл. В этом случае настройки состава подписок на события могут объединиться некорректно.

Рассмотрим правильный алгоритм:

  1. Используйте пункт меню "Конфигурация — Поддержка — Обновить конфигурацию".
  2. Выберите файл обновления .cfu.
  3. Если система требует файл .cf, убедитесь, что в окне сравнения и объединения вы нажимаете кнопку "Выполнить" с сохранением настроек поддержки.
  4. При возникновении конфликтов в подписках типа КонтрольНеразделенныхОбъектовПриЗаписиБЭД, система поддержки обычно автоматически исключает удаляемые объекты, если обновление идет через механизм поставки.

Решение 3: Ручная корректировка состава подписок

Если вы уже столкнулись с ошибкой в модуле РаботаВМоделиСервиса, и база отказывается запускаться, необходимо вручную привести метаданные в соответствие с требованиями БСП. Выясним причину: система требует, чтобы все "неразделенные" (общие для всех областей) объекты были подконтрольны специальным подпискам.

Для исправления выполним следующие шаги:

  1. Найдем в дереве метаданных подписку на событие, на которую ругается система (например, КонтрольНеразделенныхОбъектовПриЗаписи или КонтрольНеразделенныхОбъектовПриЗаписиБЭД).
  2. Откроем свойство "Источник" этой подписки.
  3. В появившемся списке типов необходимо найти и отметить те объекты, которые были указаны в тексте ошибки. В нашем примере это:
    • Справочник.ДополнительныеВнешниеКомпоненты
    • Константа.ИспользоватьСертификатыОблачногоСервисаВЭДО
  4. Одновременно с этим убедимся, что из списка исключены те объекты, которые помечены как Удалить... (если на них ругался конфигуратор при сравнении).

После этого необходимо обновить конфигурацию базы данных (F7). Система должна пропустить проверку, так как теперь все метаданные соответствуют правилам разделения данных.

Решение 4: Принудительный запуск обработчиков обновления

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

Параметр запуска: /С ЗапуститьОбновлениеИнформационнойБазы

Этот параметр заставляет БСП пропустить некоторые начальные проверки и перейти сразу к выполнению кода в Справочнике.ИдентификаторыОбъектовМетаданных, что часто помогает "протолкнуть" застрявшее обновление.

Дополнительные рекомендации

При переходе на УТ 11.4 крайне важно обратить внимание на версию технологической платформы. Для корректной работы механизмов БСП в версии 11.4 требуется платформа не ниже 8.3.10.2505, но настоятельно рекомендуется использовать актуальные сборки 8.3.12 и выше. Старые версии платформы могут некорректно обрабатывать состав составных типов в подписках, что и приводит к фантомным ссылкам на удаленные объекты.

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

← На главную