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