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