Как сравнить конфигурацию 1С с хранилищем без подключения базы?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При совместной разработке конфигураций 1С нередко возникает необходимость сопоставить текущую дорабатываемую базу с состоянием хранилища. Основное опасение разработчиков в этот момент — случайно подключить базу к хранилищу или затереть свои локальные изменения. Выгружать конфигурацию хранилища в отдельный файл .cf каждый раз неудобно и долго. Разберем штатные инструменты платформы 1С:Предприятие, которые позволяют быстро и абсолютно безопасно выполнить такое сравнение.

Способ 1. Режим «Сравнить конфигурации» (безопасный просмотр без риска изменений)

Проанализируем самый надежный вариант, который исключает случайное изменение метаданных в вашей рабочей конфигурации. В платформе 1С предусмотрен специальный инструмент сопоставления, в котором физически отсутствует кнопка применения изменений.

Рассмотрим пошаговый порядок действий:

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

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

Способ 2. Инструмент «Сравнить, объединить конфигурацию с хранилищем»

Если в дальнейшем планируется выборочно перенести часть доработок из хранилища в локальную базу, разберем второй штатный инструмент платформы:

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

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

Возможности сопоставления с историческими версиями хранилища

Рассмотрим полезную особенность прямого подключения: при сравнении вы не ограничены только последней версией хранилища. В диалоге выбора хранилища можно открыть журнал истории и указать конкретную историческую версию по номеру, автору или дате помещения. Это крайне удобно, когда нужно выяснить, в какой именно момент код локальной базы разошелся с веткой разработки.

При этом подключение самой базы к хранилищу не регистрируется. Это означает, что:

  1. База остается автономной и не привязывается к хранилищу.
  2. Права на захват объектов не требуются — достаточно прав на чтение.
  3. Объекты в хранилище не блокируются и остаются доступными для других участников команды.

Ограничения и рекомендации по производительности

Выясним причину, по которой прямое сравнение иногда может выполняться медленно. Если хранилище расположено в общей сетевой папке (файловый доступ по SMB), сравнение объемных конфигураций требует передачи большого количества мелких служебных файлов по сети. Для ускорения взаимодействия рекомендуется разворачивать сервер хранилища конфигураций (служба crserver, работающая по протоколам TCP/HTTP).

Также важно учитывать правила сопоставления объектов. Если конфигурация текущей базы изначально была создана не из этого хранилища, сопоставление метаданных будет выполняться по именам объектов, а не по внутренним уникальным идентификаторам (GUID). Это необходимо учитывать при анализе отчета о различиях.

Альтернативный вариант: фоновая выгрузка версии хранилища через командную строку

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

Посмотрим на пример пакетной команды Windows для выгрузки версии в файл:


DESIGNER /ConfigurationRepositoryPath "C:\Storage1C" /ConfigurationRepositoryUser "Admin" /ConfigurationRepositoryPassword "Pass" /ConfigurationRepositoryDumpCfg "C:\Temp\version_dump.cf" -v 145

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

← На главную