Сохранение конфигурации 1С 8.3 в файл .cf и обратная загрузка
Содержание
Чтобы выгрузить конфигурацию 1С в отдельный файл, откройте Конфигуратор и выберите Конфигурация → Сохранить конфигурацию в файл.... На выходе получится один файл с расширением .cf — это слепок структуры конфигурации без учётных данных. Его удобно передавать разработчику, хранить как резервную копию метаданных или загружать в другую базу.
Скинуть конфигурацию в файл можно двумя способами: вручную через Конфигуратор или командой из командной строки для автоматизации по расписанию. Отдельно рассмотрим выгрузку в дерево XML-файлов и обратную операцию — загрузку .cf в базу.
Ниже всё про 1С:Предприятие 8.3 с интерфейсом «Такси». Файловые и клиент-серверные базы отличаются только способом подключения, сами действия одинаковы.
Что проверить перед выгрузкой и какие нужны права
Сохранение конфигурации в файл — операция безопасная: она ничего не меняет в базе и не требует монопольного доступа. Пользователи могут продолжать работать, пока вы выгружаете .cf.
Что нужно проверить заранее:
🔑 Права. Открыть Конфигуратор может только пользователь с ролью, в которой включено право администрирования. Если в окне запуска нет кнопки «Конфигуратор» или она не открывается — прав не хватает, обратитесь к администратору базы.
💾 Место на диске. Файл
.cfтиповой конфигурации весит от нескольких десятков до сотен мегабайт. Выгружайте на локальный диск, а не на сетевую папку с перебоями — прерванная запись даёт битый файл.🧩 Какую конфигурацию сохраняете. В базе одновременно есть две конфигурации: редактируемая (основная) и конфигурация базы данных. По умолчанию в файл пишется основная. Если вы вносили правки и не обновляли базу, это разные версии — держите разницу в голове.
🗂 Куда и под каким именем. Если выгрузок несколько (разные базы, разные даты), заложите в имя файла базу и дату —
buh_2024-05-20.cf. Иначе копии затирают друг друга, и потом не разобрать, какая из них свежая.
Для разовой передачи кому-то структуры достаточно одного .cf. Для полноценного бэкапа с данными нужен другой формат — .dt, о нём ниже.
Типичные поводы выгрузить конфигурацию в файл:
- отдать доработки стороннему программисту или в поддержку;
- сохранить слепок структуры перед рискованным обновлением;
- перенести изменения из тестовой базы в рабочую;
- завести конфигурацию в систему контроля версий (тогда выгружают в XML, см. ниже).
Сохранение конфигурации в файл .cf через Конфигуратор
Это основной способ. Подходит и для файловой, и для серверной базы.
- Запустите 1С, в окне запуска выделите нужную базу и нажмите Конфигуратор.
- Войдите под учётной записью с правами администрирования.
- В меню выберите
Конфигурация → Открыть конфигурацию— дерево метаданных должно появиться в левой части окна. Пока оно закрыто, пункты сохранения будут неактивны. - Откройте
Конфигурация → Сохранить конфигурацию в файл.... - Укажите папку и имя файла, нажмите Сохранить. Расширение
.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) перед загрузкой.
Порядок действий:
- Убедитесь, что из базы вышли все пользователи. В клиент-серверной базе установите блокировку на начало сеансов.
- В Конфигураторе выберите
Конфигурация → Загрузить конфигурацию из файла.... - Укажите нужный
.cf, нажмите Открыть. - 1С спросит разрешение на обновление конфигурации базы данных — согласитесь.
- Если в окне предупреждений появился список реорганизуемых данных, проверьте его и подтвердите. На больших базах перестройка таблиц занимает время.
Для автоматизации загрузка тоже доступна из командной строки — ключ /LoadCfg для заливки файла и /UpdateDBCfg для обновления структуры базы:
"...\1cv8.exe" DESIGNER /F"D:\base" /N"Администратор" /P"пароль" /LoadCfg "D:\cf\base.cf" /UpdateDBCfg
Загружать имеет смысл только .cf, снятый с совместимой конфигурации — например, другую версию той же типовой. Попытка залить в «Бухгалтерию» файл от «Управления торговлей» приведёт к несовместимости и потере данных: платформа предупредит, но лучше до этого не доводить.
Полная загрузка или объединение
Загрузить конфигурацию из файла... заменяет текущую конфигурацию целиком. Если нужно перенести не всё, а только часть изменений, используйте Конфигурация → Сравнить, объединить с конфигурацией из файла....
В этом режиме 1С показывает список различий между текущей конфигурацией и файлом. Вы отмечаете галочками, какие объекты принять, а какие оставить как есть, и только потом выполняете объединение. Это точнее полной замены, когда в обеих конфигурациях есть ценные правки. После объединения базу так же нужно обновить (Обновить конфигурацию базы данных, F7).
Полная загрузка быстрее и проще, объединение — безопаснее для баз с собственными доработками. Выбор зависит от того, доверяете ли вы файлу полностью.
Частые ошибки при выгрузке и загрузке
Большинство проблем связано не с самой выгрузкой, а с правами, доступом и путаницей форматов.
Конфигурация → Открыть конфигурацию, потом сохраняйте..cf не содержит учётных данных. Для переноса базы целиком нужен формат .dt.Частые вопросы
Чем файл .cf отличается от .cfe?
.cf — это основная конфигурация целиком. .cfe — расширение конфигурации, то есть надстройка поверх основной. Выгружаются они одним и тем же пунктом, но для расширения в командной строке добавляют ключ -Extension.Можно ли открыть файл .cf и посмотреть, что внутри?
.cf в пустую базу через Конфигурация → Загрузить конфигурацию из файла... или выгрузите конфигурацию в XML-файлы и смотрите их текстом.Нужно ли выгонять пользователей, чтобы сохранить конфигурацию в файл?
.cf монопольного доступа не требует, пользователи продолжают работать. Монополия нужна только при загрузке конфигурации обратно и при выгрузке базы в .dt.Где взять исходную типовую конфигурацию до моих доработок?
Конфигурация → Поставщики... — выделите поставщика и сохраните в файл. Так вы получите типовую версию без ваших изменений.Какой версией платформы открывать файл .cf?
.cf нужно платформой с номером не ниже той, в которой он был выгружен. Более новая платформа откроет файл от старой, обратное — не всегда.