Разработка и Конфигурация · 11 мин
Как объединить две конфигурации 1С в одну
Как объединить две конфигурации 1С в одну через режим сравнения и объединения: подготовка, настройка правил, контроль ссылочной целостности и типичные ошибки.
Объединение двух конфигураций 1С — задача, которая возникает при слиянии доработок разных команд, внедрении отраслевого решения в типовую базу или переносе самописных объектов в обновлённую конфигурацию. Штатный инструмент для этого — режим «Сравнить, объединить с конфигурацией из файла» в конфигураторе. Он позволяет выборочно перенести объекты метаданных из одной конфигурации в другую, контролируя конфликты.
Важно понимать: объединяются именно конфигурации (структура метаданных — справочники, документы, регистры, модули, формы), а не данные информационной базы. Если нужно перенести ещё и сами записи, используются обработки переноса данных или «Конвертация данных» — это отдельная задача, выполняемая после объединения метаданных.
Качество результата зависит от трёх факторов: насколько близки исходные конфигурации (одна и та же типовая основа или разные решения), есть ли пересекающиеся объекты с разным содержимым и насколько аккуратно настроены правила объединения. Ниже разобран полный цикл работ — от подготовки до проверки результата.
Когда объединение оправдано, а когда нет
Объединение конфигураций имеет смысл в нескольких типовых ситуациях. Первая — перенос собственных доработок в новый релиз типовой конфигурации, когда по какой-то причине нельзя использовать штатный механизм обновления. Вторая — слияние двух независимых решений, например внедрение модуля электронного документооборота в основную учётную систему. Третья — консолидация доработок из нескольких копий базы, которые вели разные разработчики.
Не стоит пытаться объединять конфигурации, построенные на совершенно разных архитектурах, если пересекающихся объектов мало — проще перенести нужные объекты вручную через «Загрузить конфигурацию из файла» отдельных объектов или через выгрузку в файлы. Также объединение не заменяет обновление типовой конфигурации: для обновления на поддержке есть отдельный механизм «Обновить конфигурацию».
Как выбрать подход
Подготовка: что сделать до объединения
Первый и обязательный шаг — резервная копия информационной базы. Для файловой базы достаточно скопировать каталог или выгрузить базу в файл .dt через конфигуратор. Для клиент-серверной базы делается выгрузка .dt либо резервная копия средствами СУБД. Объединение меняет структуру метаданных, и откат без копии будет невозможен.
Далее нужно получить файл конфигурации-донора. Откройте базу-донор в конфигураторе и выполните «Конфигурация → Сохранить конфигурацию в файл» — получится файл с расширением .cf. Если донор — поставка вендора, файл .cf или .cfu может быть уже в комплекте поставки.
Полезно заранее проанализировать обе конфигурации: выгрузить списки объектов метаданных и сравнить их внешними средствами или штатной функцией сравнения. Это позволит оценить масштаб конфликтов — объекты с одинаковыми именами, но разным содержимым. Чем больше таких пересечений, тем внимательнее нужно настраивать правила.
Работы выполняйте на копии базы, а не на рабочей. Пользователи на время объединения и обновления конфигурации базы данных должны быть отключены — конфигуратор потребует монопольный доступ.
Пошаговое объединение через конфигуратор
Откройте конфигуратор базы-приёмника (той, в которую переносятся объекты) в монопольном режиме. Убедитесь, что конфигурация открыта для редактирования: «Конфигурация → Открыть конфигурацию». Если конфигурация на поддержке с запретом изменений, предварительно включите возможность изменений через «Поддержка → Настройка поддержки».
Запустите «Конфигурация → Сравнить, объединить с конфигурацией из файла» и укажите сохранённый ранее .cf файл. Конфигуратор построит дерево сравнения: слева — текущая конфигурация, справа — загружаемая. Объекты будут помечены пиктограммами: отличаются, добавлены, отсутствуют.
По умолчанию платформа предлагает взять изменения из файла. Снимите флажки с объектов, которые переносить не нужно, — это критически важный шаг. Бездумное объединение «по умолчанию» перезапишет типовые объекты версиями из донора и может вернуть старые релизы объектов поверх новых.
Для конфликтующих объектов задайте правило объединения: в нижней части окна доступны варианты «Взять из текущей конфигурации», «Взять из загружаемой» или «Объединить» для модулей и некоторых дочерних элементов. После настройки нажмите «Выполнить», затем обновите конфигурацию базы данных (F7).
- 1Сделайте резервную копию базы-приёмника и проверьте её восстановление
- 2Сохраните конфигурацию-донор в файл .cf
- 3Откройте конфигуратор приёмника, включите возможность изменений при поддержке
- 4Запустите «Сравнить, объединить с конфигурацией из файла» и укажите .cf
- 5Снимите флажки с объектов, которые переносить не нужно
- 6Настройте правила для конфликтующих объектов и модулей
- 7Выполните объединение, затем обновите конфигурацию базы данных (F7)
- 8Проверьте целостность и протестируйте ключевые сценарии работы
Настройка правил для конфликтующих объектов
Конфликт возникает, когда объект с одинаковым именем существует в обеих конфигурациях, но его содержимое различается. Для таких объектов нужно осознанно выбрать источник. Если в приёмнике объект новее (например, типовой документ свежего релиза), оставляйте версию приёмника и переносите из донора только дочерние элементы — реквизиты, движения, процедуры модулей.
Модули — самая чувствительная часть. Режим «Объединить» для модулей работает построчно и может породить синтаксически некорректный код, если обе версии сильно переписаны. Надёжнее выбрать одну версию модуля целиком, а недостающие процедуры перенести вручную после объединения, сверяя вызовы.
Обратите внимание на режим объединения «с приоритетом»: его можно установить для всей конфигурации или отдельных веток дерева. Приоритет загружаемой конфигурации уместен при внедрении отраслевого решения целиком; приоритет текущей — когда из донора берутся только добавленные объекты.
Особые случаи: роли, интерфейсы и подсистемы
Роли и права доступа объединяются как отдельные объекты, но их содержимое — наборы прав на объекты метаданных. Если в доноре есть новые роли, они переносятся целиком; если роль существует в обеих конфигурациях, права могут объединиться некорректно. После объединения проверьте права на новые объекты и назначьте роли пользователям.
Командный интерфейс и подсистемы требуют ручной доработки: новые объекты донора не попадут в нужные разделы меню автоматически, если подсистемы приёмника отличаются. Проверьте состав подсистем и включите в них перенесённые объекты.
Особое внимание — планам обмена, критериям отбора и определяемым типам: у них состав связанных объектов формируется перекрёстными ссылками. При объединении состав может дублироваться или теряться, что вызовет ошибки при обмене данными.
Проверка результата после объединения
После обновления конфигурации базы данных первым делом проверьте, что база открывается в режиме предприятия и не выдаёт ошибок при запуске. Затем выполните синтаксическую проверку модулей: «Конфигурация → Проверка конфигурации» с включённой проверкой модулей и логической целостности.
Далее — функциональное тестирование: откройте ключевые документы и отчёты, проведите документ, сформируйте регламентный отчёт, проверьте работу перенесённых из донора объектов. Для баз с обменами проверьте выгрузку и загрузку по планам обмена.
Полезно также выполнить тестирование и исправление информационной базы в режиме проверки ссылочной целостности — особенно если объединение меняло состав реквизитов или типы полей.
Как проверить результат
База открывается без ошибок, стартовая страница отображается
Ошибки компиляции модулей или падение при запуске
Проверка завершается без ошибок синтаксиса и логической целостности
Сообщения о неразрешённых ссылках и ошибках в модулях
Документы проводятся, отчёты формируются, формы открываются
Ошибки «Поле не найдено», пустые отчёты, недоступные формы
Выгрузка и загрузка проходят без ошибок регистрации
Ошибки состава плана обмена, дубли узлов
Типичные ошибки и ограничения
Самая частая ошибка — объединение «по умолчанию» со всеми установленными флажками. При этом типовые объекты приёмника перезаписываются устаревшими версиями из донора, и фактически выполняется откат релиза. Всегда просматривайте дерево сравнения и снимайте лишние флажки.
Вторая ошибка — игнорирование зависимостей. Если переносится документ, ссылающийся на новый справочник донора, а сам справочник не перенесён, база получит битые ссылки в метаданных. Конфигуратор частично помогает: при установке флажка на объект он предлагает отметить связанные.
Третья группа проблем — потеря доработок при конфликте модулей. Построчное объединение модулей не гарантирует корректный результат: процедуры могут дублироваться или обрываться. После объединения сверяйте модули конфликтных объектов вручную.
Ограничение механизма: объединение не переносит данные, пользователей, настройки и расширения конфигурации. Если доработки донора оформлены расширением, их нужно подключать как расширение, а не объединять.
FAQ: частые вопросы об объединении конфигураций
Можно ли объединить две совершенно разные конфигурации, например УТ и БП?
Технически конфигуратор позволит выполнить объединение, но практического смысла в этом нет: объекты с одинаковыми именами имеют разную структуру и логику, конфликтов будут сотни, а результат не будет работоспособен без огромной ручной доработки. Для таких задач используют обмен данными между базами, а не слияние конфигураций.
Переносятся ли данные при объединении конфигураций?
Нет. Объединяются только метаданные — структура объектов, модули, формы, макеты. Записи справочников, документы и регистры остаются в своих базах. Для переноса данных используйте «Конвертацию данных», универсальный обмен XML или обработки загрузки.
Что делать, если конфигурация на поддержке без возможности изменений?
Откройте «Конфигурация → Поддержка → Настройка поддержки», включите возможность изменения (для объектов поставщика — режим «с сохранением поддержки» или «снят с поддержки» по необходимости). Учтите, что снятие с поддержки усложнит дальнейшие типовые обновления.
Как отменить объединение, если результат не устроил?
Штатной кнопки отмены нет. Если конфигурация базы данных ещё не обновлялась, достаточно закрыть конфигуратор без сохранения или загрузить конфигурацию из файла базы данных. Если обновление выполнено — восстановите базу из резервной копии. Именно поэтому копия обязательна.
Чем объединение отличается от обновления конфигурации?
Обновление («Поддержка → Обновить конфигурацию») работает с конфигурацией поставщика и автоматически применяет правила перехода между релизами. Объединение — ручной инструмент сравнения двух произвольных конфигураций с выбором объектов и правил. Для штатного перехода на новый релиз всегда используйте обновление.
Что важно запомнить
Объединение конфигураций 1С выполняется через «Сравнить, объединить с конфигурацией из файла» и переносит только метаданные, не данные. Обязательны: резервная копия, выборочная установка флажков, осознанные правила для конфликтующих объектов и модулей, проверка конфигурации и тестирование после обновления базы данных. Работайте на копии, а не на рабочей базе.