Выгрузка конфигурации из Конфигуратора: файл .cf, XML и пакетный режим

· 9 мин

Содержание

Конфигурацию выгружают из Конфигуратора: откройте базу в режиме Конфигуратор, меню Конфигурация → Сохранить конфигурацию в файл…, укажите путь — получите один файл .cf со всем составом метаданных. Если нужна не единая «коробка», а дерево текстовых файлов (для сравнения, системы контроля версий или поэлементной правки), выбирайте Конфигурация → Выгрузить конфигурацию в файлы… и каталог-приёмник.

Сразу уберём частую путаницу: выгрузка конфигурации — это только метаданные (объекты, формы, модули), без ваших данных. Если вам нужна копия базы целиком вместе с документами и справочниками, это другая операция — выгрузка информационной базы в файл .dt. Ниже — только про конфигурацию.

Монопольный доступ для выгрузки не нужен: сохранить .cf или XML можно, пока в базе работают пользователи. Монополия потребуется позже, при обратной загрузке и обновлении структуры базы.

Чем выгружают конфигурацию: три рабочих способа

Способов ровно три, и выбирают их по задаче, а не по привычке.

  • 📦 В файл .cf — весь состав конфигурации одним бинарным файлом. Годится, чтобы перенести конфигурацию в другую базу, отдать подрядчику, положить в архив перед обновлением.
  • 🗂 В файлы XML — то же содержимое, но разложенное по каталогам в текстовом виде. Нужно для Git/SVN, для построчного сравнения версий и когда правят отдельные объекты вне базы.
  • ⌨️ Пакетным режимом из командной строки — тот же .cf или XML, но без открытия окна Конфигуратора. Применяют в скриптах ночного бэкапа и в CI.

Отдельно стоит выгрузка расширения конфигурации в файл .cfe — это не основная конфигурация, а надстройка над ней. О ней в конце, в разделе с вопросами.

Как сохранить конфигурацию в файл .cf

Это базовый сценарий — быстрее всего и не требует настройки.

  1. Запустите базу в режиме Конфигуратор (в окне запуска 1С выберите базу и нажмите Конфигуратор).
  2. Откройте дерево конфигурации: меню Конфигурация → Открыть конфигурацию. Дождитесь, пока дерево загрузится.
  3. Меню Конфигурация → Сохранить конфигурацию в файл….
  4. Укажите имя и папку. Расширение .cf подставится само.
  5. Нажмите Сохранить и дождитесь завершения — по строке состояния внизу окна.

Файл .cf — это снимок текущей редактируемой («основной») конфигурации. Если вам нужна конфигурация поставщика, какой она была до ваших доработок, пункт другой: Конфигурация → Поставка конфигурации → Сохранить конфигурацию поставщика в файл…. Он доступен, только если база стоит на поддержке.

Перед крупным обновлением сохраните .cf в отдельную папку с датой в имени. Это самый дешёвый способ отката именно конфигурации: загрузили файл обратно — и вернули прежнее состояние метаданных.

Размер .cf типовой конфигурации — от десятков до сотен мегабайт. Сохранение идёт секунды-минуты и на работу пользователей в базе не влияет. После сохранения проверьте размер файла: если он подозрительно мал (несколько килобайт), выгрузка оборвалась — повторите, предварительно убедившись, что на диске есть место.

Как выгрузить конфигурацию в файлы XML

Этот способ выбирают, когда конфигурацию ведут в системе контроля версий или сравнивают две редакции по отдельным объектам.

  1. В Конфигураторе: меню Конфигурация → Выгрузить конфигурацию в файлы….
  2. Укажите пустой каталог-приёмник. В непустую папку выгрузка тоже пойдёт, но старые файлы перемешаются с новыми — чистить потом неудобно.
  3. При первой выгрузке оставьте формат по умолчанию. Если каталог уже выгружали раньше, платформа предложит режим с обновлением только изменённых файлов — он быстрее.
  4. Нажмите выгрузку и дождитесь окончания.

На выходе — дерево каталогов: по папке на класс объектов (справочники, документы, регистры), внутри — XML-описания и текстовые модули. Файлов получаются тысячи, это нормально.

Не редактируйте XML-файлы вручную, если не уверены в структуре формата. Сломанный XML при обратной загрузке даст ошибку, а найти в тысячах файлов тот, где лишний символ, тяжело. Для правок либо загружайте дерево обратно в Конфигуратор, либо работайте через хранилище конфигурации.

В корне каталога платформа создаёт служебный файл с описанием выгрузки (его имя начинается с ConfigDumpInfo). По нему при повторной выгрузке определяется, какие объекты изменились, — поэтому режим обновления и работает быстрее полной перевыгрузки. Удалите этот файл — и следующая выгрузка пойдёт как первая, целиком.

Обратная операция называется Конфигурация → Загрузить конфигурацию из файлов… — указываете тот же каталог.

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

Выгрузка из командной строки в пакетном режиме

Когда выгрузку нужно повторять по расписанию или встроить в скрипт, Конфигуратор запускают в пакетном режиме — без интерактивного окна.

Выгрузка в файл .cf:

"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /F "C:\bases\buh" /N "Администратор" /P "пароль" /DumpCfg "D:\dump\buh.cf" /DisableStartupMessages /Out "D:\dump\log.txt"

Разберём параметры:

  • DESIGNER — запуск в режиме Конфигуратора.
  • /F "путь" — путь к файловой базе. Для серверной базы вместо /F используйте /S "сервер\база".
  • /N и /P — имя пользователя и пароль. Если пароль с пробелами или спецсимволами — в кавычках.
  • /DumpCfg "файл.cf" — собственно выгрузка конфигурации в файл.
  • /DisableStartupMessages — гасит стартовые уведомления, иначе в пакетном режиме окно может «повиснуть» в ожидании нажатия.
  • /Out "лог" — пишет протокол выполнения в файл: без него непонятно, чем закончился запуск.

Выгрузка в XML-файлы — тот же запуск, но с другим ключом:

"...\1cv8.exe" DESIGNER /F "C:\bases\buh" /N "Администратор" /P "пароль" /DumpConfigToFiles "D:\dump\xml" /DisableStartupMessages /Out "D:\dump\log.txt"

Ключ /DumpConfigToFiles "каталог" раскладывает конфигурацию в XML. У него есть дополнительные параметры (например, выгрузка вместе с расширениями) — точный их список смотрите в справке по пакетному запуску вашей версии платформы, чтобы не подставить ключ, которого в вашем релизе нет.

Для серверной базы вместо /F указывают адрес кластера и имя базы:

"...\1cv8.exe" DESIGNER /S "app-server\buh_prod" /N "Администратор" /P "пароль" /DumpCfg "D:\dump\buh.cf" /DisableStartupMessages /Out "D:\dump\log.txt"

Здесь app-server — имя или адрес сервера 1С, buh_prod — имя информационной базы в кластере.

Чтобы выгрузка шла по расписанию, оберните команду в .bat-файл и повесьте его на планировщик заданий Windows (Task Scheduler) на удобное время — например, ночью, когда нагрузка на сервер ниже. После каждого запуска проверяйте файл /Out: если выгрузка упала, в журнале будет причина, а пустой или старый .cf вы иначе заметите не сразу.

Путь к 1cv8.exe зависит от установленной версии платформы: подставьте номер своей сборки (папка внутри C:\Program Files\1cv8\). Номер смотрите в Конфигураторе: меню Справка → О программе. Если на сервере несколько версий платформы, берите ту, что соответствует релизу базы.

Чем .cf отличается от XML и .dt

Три расширения часто путают. Разница в том, что внутри.

ФорматЧто содержитКогда брать
.cfВсю конфигурацию одним файлом, без данныхПеренос конфигурации в другую базу, архив перед обновлением
XML-файлыТу же конфигурацию деревом текстовых файловСистема контроля версий, сравнение редакций, поэлементная работа
.dtКонфигурацию и все данные базыПолная резервная копия, перенос базы целиком
.cfeОтдельное расширение конфигурацииВыгрузка/перенос доработки, не меняющей основную конфигурацию

Ключевой вывод: .cf и XML — это только метаданные, .dt — метаданные плюс данные. Если коллега просит «выгрузи базу», уточните, что именно нужно: конфигурация для доработки или полная копия с документами. Это разные файлы и разные пункты меню (.dt делают через Администрирование → Выгрузить информационную базу…).

На практике выбор между .cf и XML сводится к одному вопросу: нужна ли история изменений. Для разового переноса или архива удобнее .cf — один файл, один клик. Для командной разработки, где важно видеть, кто и что поправил в каждом объекте, берут XML: его кладут в Git, и система контроля версий показывает различия построчно. Для .cf такого сравнения нет — он непрозрачен.

Загружают форматы симметрично: .cf — через Загрузить конфигурацию из файла…, XML — через Загрузить конфигурацию из файлов…, .dt — через Администрирование → Загрузить информационную базу….

Как загрузить выгруженную конфигурацию в другую базу

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

  1. В базе-приёмнике откройте Конфигуратор под администратором.
  2. Меню Конфигурация → Загрузить конфигурацию из файла…, укажите ваш .cf (или Загрузить конфигурацию из файлов… для XML-каталога).
  3. Платформа предупредит, что действие требует монопольного доступа. Убедитесь, что пользователи вышли.
  4. После загрузки платформа предложит Обновить конфигурацию базы данных (клавиша F7). Без этого шага новая конфигурация останется только в редактируемой версии и в работу не попадёт.
  5. В окне реорганизации подтвердите принятие изменений.

Загрузка конфигурации в рабочую базу перезаписывает её метаданные целиком. Перед загрузкой сделайте резервную копию базы-приёмника (.dt или средствами СУБД). Откатить неудачную загрузку иначе нельзя.

Если база-приёмник стоит на поддержке с запретом изменений, загрузка стороннего .cf может не пройти без снятия замка поддержки. Это отдельная операция, выполнять её нужно осознанно — она меняет возможность получать обновления от поставщика.

Почему выгрузка не идёт и что проверить

Выгрузка конфигурации — операция простая, но пара ситуаций встречается регулярно.

Диагностика: выберите симптом

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

Перед выгрузкой конфигурации проверьте
Выполнено: 0 / 5

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

Нужен ли монопольный доступ, чтобы выгрузить конфигурацию?
Нет. Сохранение в .cf или в XML-файлы идёт при работающих пользователях. Монополия нужна на обратном пути — при загрузке конфигурации и обновлении структуры базы.
Можно ли выгрузить только один объект, например один документ?
Через стандартную выгрузку конфигурации — нет, она выгружает весь состав целиком. Для отдельных объектов используют выгрузку в файлы XML (там объект лежит отдельным файлом) или механизм хранилища конфигурации.
Чем выгрузка конфигурации отличается от выгрузки базы в .dt?
.cf и XML содержат только метаданные — структуру, формы, код. Файл .dt содержит ещё и все данные: документы, справочники, регистры. Для полной резервной копии нужен .dt, для переноса доработок — .cf.
Как выгрузить расширение конфигурации?
Расширения живут отдельно: меню Конфигурация → Расширения конфигурации, выделить нужное и сохранить в файл .cfe. Основную конфигурацию это не затрагивает. Расширения доступны с платформы не ниже 8.3.6.
Откроется ли мой .cf в другой версии платформы?
Файл, сохранённый в новой версии платформы, в более старую обычно не загрузится. В равную или более новую — загрузится. Поэтому в паре «отдал–принял» ориентируйтесь на номер платформы принимающей базы: он должен быть не ниже вашего.