← На главную
Перенос доработок и новых метаданных из одной базы в другую — стандартная задача разработчика 1С. Однако неосторожное использование механизма Сравнение и объединение с конфигурацией из файла или попытка скопировать объекты через буфер обмена (drag-and-drop) могут привести к нарушению логической целостности метаданных. В результате при попытке сохранения или обновления конфигурации базы данных платформа выдает десятки ошибок вида Недопустимый тип для подписок на события, общих команд и определяемых типов, либо сообщает о неразрешимых ссылках.
Разберем детально, почему возникают эти ошибки, как вернуть базу в рабочее состояние и как правильно выполнять перенос объектов без нарушения типового функционала.
Причины массовых ошибок «Недопустимый тип» после объединения
Проанализируем природу ошибки, с которой сталкиваются при выполнении объединения «вслепую» без предварительного анализа дерева сравнения. В современных типовых конфигурациях, построенных на базе Библиотеки стандартных подсистем (БСП), ключевую роль играют объекты метаданных ОпределяемыйТип. Они объединяют в себе списки ссылок на справочники, документы и регистры, участвующие в типовых механизмах (версионирование, присоединенные файлы, напоминания, контактная информация, разграничение прав доступа RLS).
В свою очередь, объекты метаданных ПодпискаНаСобытие (в свойстве «Источник») и ОбщаяКоманда (в свойстве «ТипПараметраКоманды») ссылаются на эти определяемые типы. Ошибка возникает по следующим причинам:
- Замена состава определяемого типа: Если в окне сравнения и объединения была оставлена отметка на корне конфигурации или на ветке определяемых типов, для них применяется правило полной замены состава типов («Взять из файла»). Если во внешнем файле конфигурации не было типовых документов или список типов отличался, типовой состав полностью затирается.
- Каскадный сбой зависимостей: Как только
ОпределяемыйТип теряет свои типы или становится пустым, платформа фиксирует ошибку во всех связанных подписках на события и командах, выдавая сообщения вида ПодпискаНаСобытие.ЗаписатьВерсиюОбъекта: Недопустимый тип.
- Неверный режим объединения свойств: Для составных типов данных режим по умолчанию нередко выставляет приоритет файла, затирая существующие типы приемника вместо их объединения.
Экстренное восстановление: как откатить неудачное объединение
Если после нажатия кнопки «Выполнить» и объединения конфигураций вы увидели список ошибок проверки, главное — не применять изменения к конфигурации базы данных. Проанализируем, как быстро вернуть конфигурацию в исходный вид:
- Откроем главное меню Конфигурация.
- Перейдем в подменю Конфигурация базы данных.
- Выберем пункт Вернуться к конфигурации БД.
- Подтвердим отмену изменений. Конфигуратор полностью восстановит структуру основной конфигурации из рабочей базы данных, и все поврежденные типы вернутся в исходное состояние.
Почему нельзя просто перетаскивать объекты мышью между конфигурациями
Попытка скопировать объекты простым перетаскиванием (drag-and-drop) или через буфер обмена из одного открытого окна Конфигуратора в другое часто приводит к предупреждению: Обнаружены неразрешимые ссылки. Рассмотрим, что происходит внутри платформы в этот момент:
Когда мы копируем сложный объект (например, документ Заявка), платформа не переносит автоматически все зависимые от него метаданные. Если в переносимом документе есть реквизиты со ссылками на самописные справочники, перечисления, или в движениях указаны регистры, которых еще нет в целевой базе, платформа разрывает связи. Все недопустимые и отсутствующие типы данных автоматически подменяются базовым типом Строка длины 10. Формы и макеты при этом теряют привязки к реквизитам, а движения документа по регистрам полностью очищаются.
Пошаговый регламент: как правильно объединять конфигурации
Разберем правильную последовательность действий при переносе новых объектов из файла конфигурации в типовую базу:
- Включение возможности изменения: Если типовая конфигурация находится на полной поддержке («замок»), открываем меню Конфигурация — Поддержка — Настройка поддержки. Нажимаем кнопку Включить возможность изменения и выбираем режим с сохранением поддержки. Для корня конфигурации и типовых объектов оставляем статус «Редактируется с сохранением поддержки».
- Запуск сравнения: Выбираем меню Конфигурация — Сравнить, объединить с конфигурацией из файла и указываем файл-источник (.cf).
- Снятие всех отметок: После завершения сравнения и открытия окна сопоставления первым делом снимаем корневую галку в самом верху дерева. Ни один объект не должен быть отмечен по умолчанию.
- Выборочная установка флагов: Внимательно отмечаем галочками только новые добавляемые объекты (самописные справочники, документы, регистры, роли). Ни в коем случае не отмечаем корень конфигурации, ветки
ОпределяемыйТип, ПодпискаНаСобытие и ОбщаяКоманда.
- Контроль правил объединения: Для новых объектов должно стоять действие «Взять из файла». Для типовых объектов действие выполняться не должно.
- Выполнение объединения: Нажимаем кнопку Выполнить. Платформа перенесет только выбранные объекты, не затронув внутреннюю структуру типовых механизмов.
- Ручное включение в БСП: Если новые документы или справочники должны поддерживаться типовыми механизмами (например, версионироваться или иметь присоединенные файлы), открываем нужный
ОпределяемыйТип (например, ОпределяемыйТип.ВерсионируемыеДанныеОбъект) вручную в дереве метаданных и добавляем флажок напротив нового объекта.
- Проверка конфигурации: Перед обновлением обязательно вызываем меню Конфигурация — Проверка конфигурации с установленными флажками поиска логических ошибок. Убеждаемся, что сообщений о недопустимых типах нет, и только после этого нажимаем клавишу F7 (Обновить конфигурацию базы данных).
Альтернативное решение: использование механизма расширений (.cfe)
Чтобы исключить риски повреждения типовых метаданных и упростить последующие обновления конфигурации, рассмотрим использование механизма расширений конфигурации:
- Перейдем в меню Конфигурация — Расширения конфигурации и добавим новое расширение с назначением «Адаптация» или «Дополнение».
- Создадим новые справочники, документы и регистры непосредственно внутри расширения либо перенесем их туда из файла-доработки.
- Основная конфигурация останется на полной типовой поддержке без снятия замков. Это гарантирует стабильность типовых подсистем и позволяет устанавливать официальные обновления 1С в автоматическом режиме без риска затирания пользовательских объектов.