Сохранение конфигурации 1С 8.3 в файл .cf и обратная загрузка

· 9 мин

Содержание

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

Скинуть конфигурацию в файл можно двумя способами: вручную через Конфигуратор или командой из командной строки для автоматизации по расписанию. Отдельно рассмотрим выгрузку в дерево XML-файлов и обратную операцию — загрузку .cf в базу.

Ниже всё про 1С:Предприятие 8.3 с интерфейсом «Такси». Файловые и клиент-серверные базы отличаются только способом подключения, сами действия одинаковы.

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

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

Что нужно проверить заранее:

  • 🔑 Права. Открыть Конфигуратор может только пользователь с ролью, в которой включено право администрирования. Если в окне запуска нет кнопки «Конфигуратор» или она не открывается — прав не хватает, обратитесь к администратору базы.

  • 💾 Место на диске. Файл .cf типовой конфигурации весит от нескольких десятков до сотен мегабайт. Выгружайте на локальный диск, а не на сетевую папку с перебоями — прерванная запись даёт битый файл.

  • 🧩 Какую конфигурацию сохраняете. В базе одновременно есть две конфигурации: редактируемая (основная) и конфигурация базы данных. По умолчанию в файл пишется основная. Если вы вносили правки и не обновляли базу, это разные версии — держите разницу в голове.

  • 🗂 Куда и под каким именем. Если выгрузок несколько (разные базы, разные даты), заложите в имя файла базу и дату — buh_2024-05-20.cf. Иначе копии затирают друг друга, и потом не разобрать, какая из них свежая.

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

Типичные поводы выгрузить конфигурацию в файл:

  • отдать доработки стороннему программисту или в поддержку;
  • сохранить слепок структуры перед рискованным обновлением;
  • перенести изменения из тестовой базы в рабочую;
  • завести конфигурацию в систему контроля версий (тогда выгружают в XML, см. ниже).

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

Это основной способ. Подходит и для файловой, и для серверной базы.

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

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

Если вам нужна не редактируемая, а именно конфигурация базы данных (та, по которой реально работают пользователи), сохраните её через Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл.... Этот вариант полезен, когда в основную конфигурацию уже внесены незавершённые изменения, а выгрузить надо рабочую версию.

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

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

Выгрузка конфигурации в дерево XML-файлов

Кроме монолитного .cf, конфигурацию можно выгрузить в набор XML-файлов — по файлу на каждый объект метаданных. Это формат для командной разработки и хранения в системе контроля версий (Git).

Путь: Конфигурация → Выгрузить конфигурацию в файлы.... Укажите пустую папку — внутри появится дерево каталогов с XML.

Чем XML-выгрузка отличается от .cf:

ПараметрФайл .cfВыгрузка в XML
Структураодин бинарный файлдерево текстовых файлов
Для чегопередача, резервная копия, загрузка целикомверсионирование, diff правок, командная работа
Сравнение версийтолько средствами 1Спострочно в любом diff-инструменте
Загрузка обратноЗагрузить конфигурацию из файла...Загрузить конфигурацию из файлов...

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

Выгрузка конфигурации из командной строки

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

Общий вид команды для файловой базы:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\base" /N"Администратор" /P"пароль" /DumpCfg "D:\cf\base.cf"

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S"srv-1c\buh" /N"Администратор" /P"пароль" /DumpCfg "D:\cf\buh.cf"

Разберём ключи:

  • DESIGNER — запуск в режиме Конфигуратора (именно он умеет выгружать конфигурацию).
  • /F"путь" — путь к файловой базе; /S"сервер\база" — серверная база.
  • /N и /P — имя пользователя и пароль.
  • /DumpCfg "файл.cf" — собственно выгрузка конфигурации в указанный файл.

Путь к 1cv8.exe подставьте свой — номер версии платформы в пути (8.3.24.1548) будет другим. Узнать установленные версии можно в папке C:\Program Files\1cv8\.

Чтобы вместо .cf выгрузить дерево XML, замените ключ:

... DESIGNER /F"D:\base" /N"Администратор" /P"пароль" /DumpConfigToFiles "D:\xml"

Выгрузить расширение конфигурации (файл .cfe) можно тем же /DumpCfg с указанием имени расширения:

... DESIGNER /F"D:\base" /DumpCfg "D:\ext.cfe" -Extension "ИмяРасширения"

Чтобы понимать, чем закончился пакетный запуск, добавьте вывод служебных сообщений в лог ключом /Out:

... /DumpCfg "D:\cf\base.cf" /Out "D:\cf\log.txt"

После запуска платформа возвращает код завершения: 0 — успех, ненулевое значение — ошибка. В .bat-файле его проверяют через %ERRORLEVEL% и, например, шлют уведомление, если выгрузка не прошла. Это важнее, чем кажется: молчаливо упавший ночной бэкап обнаруживается только тогда, когда он уже понадобился.

Команду удобно положить в .bat-файл и запускать Планировщиком Windows. Задачу запускайте от учётной записи, у которой есть доступ к базе и права на папку выгрузки, иначе задание отработает «вхолостую».

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

Чем выгрузка конфигурации отличается от выгрузки базы (.cf против .dt)

Это главная путаница новичков. Два формата решают разные задачи.

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

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

Что нужноФорматМеню
Передать структуру разработчику.cfКонфигурация → Сохранить конфигурацию в файл...
Полная резервная копия с данными.dtАдминистрирование → Выгрузить информационную базу...
Перенести доработки в другую базу.cfКонфигурация → Загрузить конфигурацию из файла...
Развернуть копию базы на другом компьютере.dtАдминистрирование → Загрузить информационную базу...

Коротко: если нужны сами данные (остатки, документы) — это .dt, а не .cf. Выгрузка .cf их не содержит, и восстановить из него учёт нельзя.

Выгрузка .dt требует монопольного доступа к базе — пользователи должны выйти. Сохранение .cf, наоборот, работает на ходу. Это ещё одно практическое отличие.

Загрузка конфигурации из файла обратно в базу

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

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

Порядок действий:

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

Для автоматизации загрузка тоже доступна из командной строки — ключ /LoadCfg для заливки файла и /UpdateDBCfg для обновления структуры базы:

"...\1cv8.exe" DESIGNER /F"D:\base" /N"Администратор" /P"пароль" /LoadCfg "D:\cf\base.cf" /UpdateDBCfg

Загружать имеет смысл только .cf, снятый с совместимой конфигурации — например, другую версию той же типовой. Попытка залить в «Бухгалтерию» файл от «Управления торговлей» приведёт к несовместимости и потере данных: платформа предупредит, но лучше до этого не доводить.

Полная загрузка или объединение

Загрузить конфигурацию из файла... заменяет текущую конфигурацию целиком. Если нужно перенести не всё, а только часть изменений, используйте Конфигурация → Сравнить, объединить с конфигурацией из файла....

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

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

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

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

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

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

Чем файл .cf отличается от .cfe?
.cf — это основная конфигурация целиком. .cfe — расширение конфигурации, то есть надстройка поверх основной. Выгружаются они одним и тем же пунктом, но для расширения в командной строке добавляют ключ -Extension.
Можно ли открыть файл .cf и посмотреть, что внутри?
Напрямую — нет, это бинарный формат платформы. Чтобы увидеть содержимое, загрузите .cf в пустую базу через Конфигурация → Загрузить конфигурацию из файла... или выгрузите конфигурацию в XML-файлы и смотрите их текстом.
Нужно ли выгонять пользователей, чтобы сохранить конфигурацию в файл?
Нет. Сохранение .cf монопольного доступа не требует, пользователи продолжают работать. Монополия нужна только при загрузке конфигурации обратно и при выгрузке базы в .dt.
Где взять исходную типовую конфигурацию до моих доработок?
Это конфигурация поставщика. Выгрузите её через Конфигурация → Поставщики... — выделите поставщика и сохраните в файл. Так вы получите типовую версию без ваших изменений.
Какой версией платформы открывать файл .cf?
Загружать .cf нужно платформой с номером не ниже той, в которой он был выгружен. Более новая платформа откроет файл от старой, обратное — не всегда.