Выгрузка и загрузка конфигурации 1С 8.3

· 9 мин

Содержание

Чтобы вытащить конфигурацию 1С, запустите базу в режиме Конфигуратор и выберите меню Конфигурация → Сохранить конфигурацию в файл…. На выходе — один файл с расширением .cf, в котором лежит вся структура прикладного решения: документы, справочники, отчёты, формы и модули. Это самый частый способ, и в большинстве случаев нужен именно он.

Но выгрузить конфигурацию можно по-разному, и выбор зависит от задачи. Для переноса на другую базу подходит .cf. Для сравнения двух версий, хранения в Git и работы в команде конфигурацию выгружают в набор XML-файлов. Отдельно сохраняют расширения (.cfe), а всю базу целиком вместе с данными — в архив .dt. Ниже — когда что выбирать и как это сделать без ошибок.

Чем различаются форматы выгрузки

Прежде чем жать кнопки, определитесь, что именно вы хотите получить. Перепутать формат легко, а результат будет разным.

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

Файл .cf не содержит ваших данных — только «чертёж» решения. Если нужно сохранить и справочники с документами, выгружайте информационную базу в .dt через Администрирование → Выгрузить информационную базу….

Важно понимать разницу между состояниями конфигурации. В базе их обычно три:

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

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

Что подготовить перед выгрузкой

Выгрузка в файл — операция безопасная: она только читает конфигурацию и ничего не меняет в базе. Монопольный доступ и остановка пользователей для неё не нужны. А вот для обратной загрузки подготовка обязательна — об этом ниже.

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

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

Для файловой базы путь на диске находится в свойствах базы в окне запуска (кнопка Изменить). Для клиент-серверной — запомните имя сервера и имя базы, они понадобятся в пакетном режиме.

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

Сохранение конфигурации в файл .cf

Это классический способ, им пользуются чаще всего.

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

Готовый .cf можно переносить на флешке, отправлять коллеге или класть в архив. Чтобы залить его в другую базу, там выбирают Конфигурация → Загрузить конфигурацию из файла….

Одно ограничение, о котором часто спрашивают: в .cf выгружается конфигурация целиком — отдельный документ или один справочник так не вытащить. Если нужно передать только часть доработок, коллега загружает ваш .cf не напрямую, а через Конфигурация → Сравнить, объединить с конфигурацией из файла… и переносит оттуда только выбранные объекты. Это же окно помогает, когда база стоит на поддержке и полная замена конфигурации недопустима.

Загрузить .cf поверх несовместимой конфигурации не выйдет. Если корни конфигураций разные (например, пытаетесь залить «Бухгалтерию» в «Управление торговлей»), платформа откажет. .cf корректно грузится только в базу с той же или совместимой конфигурацией.

Выгрузка в XML-файлы для сравнения и Git

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

  1. В Конфигураторе откройте Конфигурация → Выгрузить конфигурацию в файлы….
  2. Выберите пустую папку — платформа создаст в ней дерево подпапок и множество XML-файлов (по объекту на файл).
  3. Подтвердите выгрузку.

Такую папку удобно закоммитить в Git: каждый объект — отдельный файл, и при изменении видно, что именно поменялось. Загружают обратно командой Конфигурация → Загрузить конфигурацию из файлов…, указывая ту же папку.

Для разового сравнения двух конфигураций выгрузка в файлы не обязательна — в Конфигураторе есть встроенный механизм Конфигурация → Сравнить, объединить с конфигурацией из файла…. Он покажет, какие объекты добавлены, удалены или изменены, и позволит перенести выбранные различия. XML-выгрузка нужна там, где сравнение должно жить в системе контроля версий и обновляться на каждый коммит, а не делаться руками.

Выгрузка в файлы и в .cf — это одна и та же конфигурация в разных упаковках. Из XML-папки всегда можно собрать .cf, и наоборот.

Как выгрузить расширение конфигурации

Расширения появились в платформе 8.3.6 и позволяют дорабатывать типовую конфигурацию , не снимая её с поддержки. Выгружают расширение отдельно от основной конфигурации.

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

Загружают расширение зеркально: в окне списка расширений выбирают Загрузить конфигурацию из файла… и указывают .cfe.

Расширение тоже можно выгрузить в XML-файлы — тем же пунктом Выгрузить конфигурацию в файлы…, если активен список расширений. Это пригодится, когда доработки хранятся в репозитории отдельно от основной конфигурации.

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

Когда выгрузку нужно поставить на расписание или встроить в скрипт деплоя, кнопки Конфигуратора не годятся. Платформа умеет делать то же самое в пакетном режиме — через запуск 1cv8 с параметром DESIGNER.

Выгрузка в .cf для файловой базы:

"C:\Program Files\1cv8\<номер>\bin\1cv8.exe" DESIGNER /F"C:\base" /N"Админ" /P"пароль" /DumpCfg "C:\out\cf\config.cf" /DisableStartupMessages

Выгрузка в XML-файлы:

"...\1cv8.exe" DESIGNER /F"C:\base" /N"Админ" /P"пароль" /DumpConfigToFiles "C:\out\src" /DisableStartupMessages

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

  • /F"путь" — файловая база; для клиент-серверной вместо него /S"сервер\имя_базы".
  • /N и /P — логин и пароль администратора.
  • /DumpCfg "файл" — выгрузить конфигурацию в .cf.
  • /DumpConfigToFiles "папка" — выгрузить в XML-файлы.
  • /DisableStartupMessages — подавить информационные окна, иначе пакетный запуск может «зависнуть» на диалоге.

Для клиент-серверной базы меняется только способ подключения — вместо пути к папке указывают сервер и имя базы:

"...\1cv8.exe" DESIGNER /S"srv-1c\buh" /N"Админ" /P"пароль" /DumpCfg "C:\out\cf\config.cf" /DisableStartupMessages

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

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

Пароль в открытом виде в командной строке виден в журналах и в списке процессов. Для регулярных выгрузок заводите отдельного служебного пользователя с минимальными правами и храните команду в защищённом месте.

Как загрузить конфигурацию обратно

Загрузка — операция уже не только на чтение. Она меняет конфигурацию базы, поэтому требует подготовки.

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

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

В пакетном режиме загрузка выполняется командами /LoadCfg (из .cf), /LoadConfigFromFiles (из XML) и /UpdateDBCfg (аналог F7).

Если вы сохраняли не конфигурацию, а всю базу в .dt, восстановление делается иначе — через Администрирование → Загрузить информационную базу…. Эта операция полностью перезаписывает текущую базу: и конфигурацию, и все данные. Поэтому её выполняют либо в чистую пустую базу, либо с полным пониманием, что текущее содержимое будет потеряно.

Загрузка .dt затирает базу целиком. Никогда не грузите .dt в рабочую базу «проверить» — сначала создайте отдельную пустую базу и восстанавливайте в неё. Для клиент-серверных баз загрузка .dt тоже требует монопольного доступа и может занять заметное время на больших объёмах.

Разделяйте задачи: .cf и XML возвращают структуру решения, .dt возвращает базу с данными. Перепутать их — главная причина неудачных восстановлений.

Частые ошибки при выгрузке и загрузке

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

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

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

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

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