К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как сравнить конфигурации в 1С: полное руководство

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

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

Механизм одинаково работает как при обновлении с поддержкой, так и при ручном сопоставлении двух баз или файлов конфигурации. Главное — понимать, что именно вы сравниваете (основную конфигурацию, конфигурацию базы данных, конфигурацию поставщика или файл .cf), и уметь читать дерево различий, прежде чем нажимать кнопку «Выполнить».

Ошибка на этапе объединения способна затереть доработки, изменить структуру данных и привести к потере информации при реструктуризации. Поэтому перед любым сравнением с последующим объединением обязательно делается резервная копия базы, а само сравнение сначала выполняется в режиме просмотра без применения изменений.

Когда требуется сравнение конфигураций

На практике сравнение запускают в нескольких типовых ситуациях. Первая — обновление типовой конфигурации, когда нужно понять, какие объекты изменил поставщик и какие доработки потребуется перенести вручную. Вторая — перенос изменений между копиями базы, например из тестовой в рабочую. Третья — аудит: проверить, что именно меняли в конфигурации за определённый период, сравнив текущую версию с архивной копией.

Отдельный сценарий — сравнение конфигурации базы данных с основной конфигурацией. Такое расхождение возникает, если изменения сохранили в конфигураторе, но не обновили конфигурацию базы данных (клавиша F7). Пока расхождение существует, пользователи работают со старой версией, а попытка обновления из файла может выдать неожиданные различия.

Какие виды сравнения доступны в конфигураторе

Платформа предлагает несколько точек входа, и выбор зависит от того, что с чем сопоставляется. Через меню «Конфигурация» доступны: сравнение с конфигурацией базы данных, с конфигурацией из файла (.cf или .cfu), с конфигурацией поставщика и с хранилищем конфигурации, если база подключена к хранилищу.

Для типовых конфигураций на поддержке основной путь — меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию». Этот мастер сам загружает файл обновления, определяет версию поставщика и открывает окно сравнения уже с корректными настройками режима объединения.

Способ сравненияКогда применятьОсобенности
С конфигурацией базы данныхПроверка неприменённых измененийБыстрое, не требует файлов
С файлом .cfПеренос доработок, аудитНужен полный файл конфигурации
С файлом .cfuОбновление на новый релизРаботает только с определённых версий
С конфигурацией поставщикаАнализ изменений типового релизаДоступно при включённой поддержке
С хранилищемКомандная разработкаПоказывает захваченные и изменённые объекты

Пошаговое сравнение конфигурации с файлом

Наиболее универсальный сценарий — сравнение текущей конфигурации с внешним файлом. Он подходит и для переноса доработок, и для проверки архивной копии. Перед началом убедитесь, что у вас есть актуальная выгрузка .dt или копия базы.

Порядок действий
  1. 1
    Откройте базу в конфигураторе под пользователем с полными правами и попросите всех пользователей завершить работу.
  2. 2
    Сделайте резервную копию: «Администрирование» → «Выгрузить информационную базу».
  3. 3
    Откройте меню «Конфигурация» → «Сравнить и объединить с конфигурацией из файла» и укажите файл .cf.
  4. 4
    Дождитесь построения дерева различий и изучите его, не нажимая «Выполнить».
  5. 5
    Снимите флажки с объектов, которые не должны изменяться, и только после этого запустите объединение.
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте работу ключевых доработок.

В дереве различий объекты помечаются пиктограммами: изменённые, добавленные, удалённые, отличающиеся по составу. Двойной щелчок по объекту открывает детальное сравнение — для модулей это построчный просмотр кода, для форм — сопоставление элементов и реквизитов.

Если цель — только посмотреть отличия без изменений, просто закройте окно после анализа. Само по себе открытие окна сравнения ничего не меняет: риск появляется только после нажатия «Выполнить» и последующего обновления конфигурации базы данных.

Как читать дерево различий и управлять объединением

Флажки в дереве определяют, какие изменения будут применены. По умолчанию платформа отмечает все различающиеся объекты, и бездумное нажатие «Выполнить» перенесёт всё, включая удаление ваших доработок. Поэтому дерево разворачивают и проходят по каждому изменённому узлу.

Для модулей критичен режим объединения. Если модуль изменён и в вашей конфигурации, и в файле, автоматическое объединение может потерять правки. В таких случаях открывают построчное сравнение и переносят нужные фрагменты вручную, а флажок с объекта либо снимают, либо выбирают режим «Объединить с приоритетом» нужной стороны.

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

Сравнение с конфигурацией поставщика при обновлении

Для типовых решений на поддержке сравнение с конфигурацией поставщика показывает, что изменилось в новом релизе относительно вашей текущей версии. Путь: «Конфигурация» → «Поддержка» → «Настройка поддержки» → «Сравнить с конфигурацией поставщика», либо сравнение откроется автоматически в мастере обновления.

Здесь важен режим объединения в нижней части окна. «Взять из новой конфигурации поставщика» подходит для объектов без ваших доработок. «Объединить с приоритетом основной конфигурации» сохраняет ваши правки, но требует последующей ручной сверки. Для объектов, снятых с поддержки, платформа по умолчанию предлагает сохранить вашу версию.

Альтернативные способы: внешние инструменты и выгрузка в файлы

Помимо штатного механизма, различия анализируют через выгрузку конфигурации в файлы XML («Конфигурация» → «Выгрузить конфигурацию в файлы») с последующим сравнением каталогов в любом diff-инструменте. Это удобно для глубокого аудита модулей и интеграции с системами контроля версий, но требует аккуратности: обратная загрузка из файлов — отдельная процедура со своими ограничениями.

Для командной разработки предпочтителен механизм хранилища конфигурации: он показывает историю версий каждого объекта и позволяет сравнить произвольные версии между собой. Сторонние решения вроде EDT также имеют собственные средства сравнения, интегрированные с Git.

Сравнение вариантов

Штатное сравнение в конфигураторе

Подходит для обновлений и переноса доработок; ограничение — слабая наглядность при массовых изменениях модулей.

Выгрузка в файлы + diff-инструмент

Удобно для аудита кода и контроля версий; не подходит для прямого объединения метаданных.

Хранилище конфигурации

Оптимально для команды и истории изменений; требует предварительной настройки и дисциплины захвата объектов.

Проверка результата и типичные ошибки

После объединения и обновления конфигурации базы данных проверьте результат до запуска пользователей. Минимальный контроль — открыть изменённые формы, выполнить типовые операции с затронутыми документами и запустить проверку логической целостности. Если реструктуризация завершилась с предупреждениями, разберите каждое из них.

Контрольные точки

Как проверить результат

Окно реструктуризации
Норма

Все изменения приняты без ошибок

Тревожный признак

Сообщения о невозможности преобразования данных

Доработанные модули
Норма

Ваши процедуры и функции на месте, код компилируется

Тревожный признак

Модуль перезаписан типовой версией, доработки исчезли

Работа пользователей
Норма

Ключевые операции выполняются без ошибок

Тревожный признак

Ошибки при открытии форм или проведении документов

Типичные ошибки
01
Объединение без резервной копии — при ошибке доработки и данные восстановить неоткуда.
02
Нажатие «Выполнить» с флажками по умолчанию — затираются все снятые с поддержки изменения.
03
Игнорирование построчного сравнения модулей — автоматическое объединение теряет часть правок.
04
Обновление конфигурации базы данных при работающих пользователях — риск блокировок и незавершённой реструктуризации.
05
Сравнение не тех источников, например файла .cfu не с той версии — платформа откажет в обновлении или покажет ложные различия.
Итог

Что важно запомнить

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

Частые вопросы

Можно ли сравнить конфигурации без объединения?

Да. Откройте окно сравнения любым способом, изучите дерево различий и закройте его крестиком, не нажимая «Выполнить». Никакие изменения при этом не применяются — это безопасный режим анализа.

Чем отличается файл .cf от .cfu?

Файл .cf содержит полную конфигурацию и подходит для сравнения с любой версией. Файл .cfu — это обновление, которое применяется только к строго определённым версиям, указанным поставщиком; с «чужой» версии обновление не встанет.

Как сравнить только модули, а не всю конфигурацию?

В дереве различий разверните нужные объекты и откройте построчное сравнение модулей двойным щелчком. Для массового анализа кода удобнее выгрузить конфигурации в файлы XML и сравнить каталоги во внешнем инструменте.

Что делать, если после объединения пропали доработки?

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

Почему платформа отказывается обновляться из файла .cfu?

Чаще всего текущая версия конфигурации не входит в список версий, с которых допустимо данное обновление. Проверьте номер вашего релиза в разделе «О программе» и при необходимости выполните обновление последовательно через промежуточные версии либо используйте полный файл .cf.

Нужно ли отключать пользователей при сравнении?

Для самого сравнения — нет, оно не меняет базу. А вот обновление конфигурации базы данных после объединения требует монопольного доступа, поэтому сеансы пользователей придётся завершить.