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