Сохраняем конфигурацию 1С в файл .cf и базу в .dt
Содержание
Чтобы выгрузить CF из 1С, откройте базу в режиме «Конфигуратор» и выберите Конфигурация → Сохранить конфигурацию в файл…. Платформа запишет файл с расширением .cf: в нём только структура и код конфигурации, без документов и справочников. Для полной выгрузки базы данных со всеми данными нужен другой путь — Администрирование → Выгрузить информационную базу…, результат будет в формате .dt.
Команды выгрузки — механизм платформы 8.3, а не конкретного прикладного решения, поэтому порядок одинаков для Бухгалтерии, ЗУП, УТ и самописных конфигураций. Для регулярных копий те же операции запускают из командной строки или скриптом на OneScript без участия человека.
Что лежит в файле CF и чем он отличается от выгрузки DT
Путаница между .cf и .dt — главная причина, по которой «сохранённая копия» потом не спасает. Разница принципиальная.
| Что сравниваем | Файл .cf | Файл .dt |
|---|---|---|
| Содержимое | метаданные, модули, формы, макеты, роли | конфигурация + все данные базы |
| Данные (документы, остатки, справочники) | нет | да |
| Список пользователей | нет | да |
| Размер | обычно десятки мегабайт | от сотен мегабайт до десятков гигабайт |
| Чем открыть | Конфигурация → Загрузить конфигурацию из файла…, сравнение, обновление | Администрирование → Загрузить информационную базу… |
| Для чего | передать разработчику, обновить, сравнить, создать чистую базу | резервная копия, перенос базы на другой сервер, копия для тестов |
Коротко:
- 📦 CF — «чертёж» программы. Подходит, чтобы показать доработки программисту, обновить нетиповую конфигурацию, развернуть пустую базу с той же структурой.
- 💾 DT — «чертёж плюс содержимое». Подходит для архивной копии и переноса учёта целиком.
- 🧩 CFE — отдельный файл расширения. В
.cfосновной конфигурации расширения не попадают.
Файл .cf не заменяет резервную копию. Если база упала, из него вы восстановите только пустую программу, без единой проводки.
Основная конфигурация и конфигурация базы данных
В конфигураторе одновременно существуют две версии конфигурации:
- Основная — та, которую вы открываете и редактируете в дереве метаданных.
- Конфигурация базы данных — та, с которой реально работают пользователи.
Пока программист не выполнил Конфигурация → Обновить конфигурацию базы данных, они различаются. Команда Сохранить конфигурацию в файл… берёт основную конфигурацию, вместе с несохранёнными в базу правками. Если нужна именно та версия, что работает у пользователей, используйте Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл….
На практике это важно, когда разработчик бросил незаконченные доработки: «обычный» .cf их захватит, а .cf конфигурации базы данных — нет.
Выгрузка конфигурации 1С в файл через конфигуратор
Права на операцию: пользователь с ролью «Администратор» (или «Полные права»). Монопольный режим для сохранения .cf не нужен — пользователи могут работать.
Пошаговая выгрузка CF
- Запустите 1С, выделите базу в списке и нажмите Конфигуратор.
- Введите имя и пароль администратора.
- Если дерево конфигурации не открылось, выберите
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Сохранить конфигурацию в файл…. - Укажите папку и имя, например
buh_2026-10-07.cf. В имя полезно добавить дату и версию конфигурации. - Нажмите Сохранить и дождитесь сообщения о завершении внизу окна.
Версию конфигурации посмотрите заранее: в режиме «1С:Предприятие» — Справка → О программе (кнопка с «i» в правом верхнем углу), в конфигураторе — в свойствах корневого элемента дерева. Номер в имени файла избавит от гаданий через полгода.
💡 Если конфигурация подключена к хранилищу, выгрузку можно сделать прямо из него: в меню Конфигурация → Хранилище конфигурации есть команда сохранения конфигурации хранилища в файл. Так вы получите версию, которую видит вся команда, а не локальную копию с незахваченными изменениями.
Выгрузка базы данных в DT
- Попросите пользователей выйти из базы: выгрузка большого объёма данных заметно нагружает сервер, а изменения, сделанные во время выгрузки, могут не попасть в файл.
- Откройте конфигуратор.
- Выберите
Администрирование → Выгрузить информационную базу…. - Укажите путь и имя файла
.dt. - Дождитесь сообщения «Выгрузка информационной базы успешно завершена».
Перед выгрузкой проверьте место на диске: файл .dt сжат, но для базы на 30–50 ГБ он легко занимает несколько гигабайт.
Сохранение расширений в CFE
Расширения хранятся отдельно и в .cf не попадают. Чтобы выгрузить каждое:
- В конфигураторе выберите
Конфигурация → Расширения конфигурации. - Выделите нужное расширение и откройте его конфигурацию.
- Пока активно окно расширения, в меню
Конфигурациявыберите команду сохранения конфигурации в файл — платформа предложит формат.cfe.
Если в базе пять расширений, на выходе должно быть пять файлов .cfe плюс один .cf. Без расширений доработки, сделанные «поверх» типовой, при переносе потеряются.
Как выгрузить CF из 1С из командной строки
Ручная выгрузка хороша один раз. Для ночных копий и CI нужен пакетный режим конфигуратора: 1cv8.exe запускается с ключом DESIGNER и командой, после чего сам закрывается.
Основные ключи пакетного режима
| Ключ | Что делает |
|---|---|
DESIGNER | запуск в режиме конфигуратора |
/F "путь" | файловая база: папка с 1Cv8.1CD |
/S "сервер\база" | клиент-серверная база |
/N "имя", /P "пароль" | пользователь и пароль 1С |
/DumpCfg "файл.cf" | сохранить основную конфигурацию в файл |
/DumpDBCfg "файл.cf" | сохранить конфигурацию базы данных |
/DumpIB "файл.dt" | выгрузить информационную базу |
/DumpCfg "файл.cfe" -Extension Имя | сохранить расширение |
/Out "лог.txt" | записать сообщения в файл журнала |
/DisableStartupDialogs | не показывать диалоги при запуске |
Пример bat-файла
@echo off
rem Путь к нужной версии платформы: подставьте свою папку из C:\Program Files\1cv8
set V8="C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe"
set BACKUP=D:\Backup1C
set LOG=%BACKUP%\dump.log
%V8% DESIGNER /S "srv1c\buh" /N "Администратор" /P "%ONEC_PASS%" ^
/DumpCfg "%BACKUP%\buh.cf" /DisableStartupDialogs /Out "%LOG%"
if %ERRORLEVEL% NEQ 0 (
echo Ошибка выгрузки CF, смотрите %LOG%
exit /b 1
)
%V8% DESIGNER /S "srv1c\buh" /N "Администратор" /P "%ONEC_PASS%" ^
/DumpIB "%BACKUP%\buh.dt" /DisableStartupDialogs /Out "%LOG%" -NoTruncate
Что здесь сделано осознанно:
- 🔑 Пароль берётся из переменной окружения
ONEC_PASS, а не вписан в скрипт открытым текстом. - 📄
/Outс ключом-NoTruncateдописывает журнал, а не затирает результат первой команды. - 🚦 Проверка
%ERRORLEVEL%нужна, чтобы планировщик заданий видел сбой. Без неё «тихая» ошибка висит неделями.
Для файловой базы замените /S "srv1c\buh" на /F "D:\Bases\Buh". Версия платформы в пути должна совпадать с версией, на которой работает сервер, иначе подключение к клиент-серверной базе не состоится.
💡 Поставьте задачу в планировщик Windows на ночь и сохраняйте файлы с датой в имени — тогда у вас будет история конфигурации, а не одна перезаписываемая копия.
Автоматизация через v8runner и OneScript
Когда bat-файлов становится много, их переписывают на OneScript — скриптовом языке с синтаксисом встроенного языка 1С. Библиотека v8runner оборачивает пакетный режим конфигуратора: сама собирает строку запуска, ищет платформу, читает журнал и превращает ошибку в исключение.
Установка через пакетный менеджер OneScript:
opm install v8runner
Минимальный скрипт выгрузки:
#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();
Конфигуратор.УстановитьКонтекст("/Ssrv1c\buh", "Администратор", ПолучитьПеременнуюСреды("ONEC_PASS"));
Попытка
Конфигуратор.ВыгрузитьКонфигурациюВФайл("D:\Backup1C\buh.cf");
Конфигуратор.ВыгрузитьИнформационнуюБазу("D:\Backup1C\buh.dt");
Сообщить("Выгрузка завершена");
Исключение
Сообщить("Ошибка: " + ОписаниеОшибки());
Сообщить(Конфигуратор.ВыводКоманды());
ЗавершитьРаботу(1);
КонецПопытки;
Запуск: oscript dump.os. Плюсы перед bat-файлом:
- ✅ одна и та же логика для десятка баз — достаточно цикла по списку строк подключения;
- ✅ текст ошибки конфигуратора попадает в лог скрипта, а не в отдельный файл;
- ✅ скрипт легко встроить в Jenkins, GitLab CI или любой планировщик.
Набор методов библиотеки со временем пополняется, поэтому перед использованием редких команд загляните в её README в репозитории oscript-library.
Сравнение конфигураций и выгрузка в XML
Файл .cf нужен не только для архива. Его главный рабочий сценарий — сравнение.
Сравнить базу с файлом CF
- В конфигураторе выберите
Конфигурация → Сравнить конфигурации…. - Слева оставьте основную конфигурацию, справа выберите «Конфигурация из файла» и укажите
.cf. - Нажмите Выполнить. Изменённые объекты отметятся в дереве.
- Для текстового отчёта используйте команду формирования отчёта о сравнении в окне результата.
Так находят, какие доработки внёс прошлый подрядчик, или проверяют, не правил ли кто-то конфигурацию в обход хранилища.
Сравнение и объединение
Команда Конфигурация → Сравнить, объединить с конфигурацией из файла… не только показывает разницу, но и переносит отмеченные объекты в основную конфигурацию. Это стандартный способ перенести доработки из одной базы в другую или обновить нетиповую конфигурацию.
Перед объединением выгрузите текущую конфигурацию в .cf. Если объединение пойдёт не так, вы загрузите этот файл обратно, а не будете вспоминать, что именно изменилось.
Выгрузка в файлы XML
Для Git и EDT .cf неудобен: это двоичный архив, и система контроля версий не покажет построчную разницу. Для этого есть Конфигурация → Выгрузить конфигурацию в файлы… — каждый объект ляжет отдельным XML-файлом, модули — отдельными текстовыми файлами. В пакетном режиме то же делает ключ /DumpConfigToFiles "папка".
| Задача | Формат |
|---|---|
| Отдать конфигурацию другому администратору | .cf |
| Хранить историю изменений в Git | XML-файлы |
| Перенести базу целиком | .dt |
| Перенести доработки-расширения | .cfe |
Частые ошибки при выгрузке CF и DT
Конфигурация → Открыть конфигурацию и повторите. Также проверьте, что у пользователя есть административная роль..dt — сделайте выгрузку информационной базы из исходной базы..cfe и подключите их в новой базе./Out — там будет текст ошибки конфигуратора.Ещё две ловушки, которые не дают явной ошибки:
- ⚠️ Путь к файлу в клиент-серверной базе. При пакетном запуске путь указывается для компьютера, где работает
1cv8.exe, а не для сервера 1С. Сетевую папку указывайте в формате\\server\share\и проверьте, что у учётной записи, от имени которой работает планировщик, есть право записи. - ⚠️ Разные версии платформы. Файл
.dt, выгруженный на более новой платформе, может не загрузиться в базу на старой. Загружайте на платформе с номером не ниже той, на которой выгружали.
Безопасность и хранение файлов конфигурации
.cf и .dt — это разные уровни риска, и хранить их стоит по-разному.
Файл CF содержит исходный код: алгоритмы, иногда адреса внешних сервисов и логины, которые программисты вписали в модули. Утечка не даст чужому человеку ваши данные, но покажет, как устроена система и где в ней слабые места.
Файл DT содержит всё: контрагентов, зарплату, паспортные данные сотрудников, список пользователей базы. Это персональные данные, и требования закона о персональных данных к их защите распространяются и на копии.
Практичные правила:
- 🔒 Храните
.dtв зашифрованном виде: архив с паролем (7-Zip, AES-256) или зашифрованный том. - 📁 Папку с копиями закройте от обычных пользователей домена: права только у администратора и учётной записи планировщика.
- 🗓️ Держите ротацию: например, 7 ежедневных копий, 4 еженедельных, 12 ежемесячных. Старые удаляйте скриптом, а не руками.
- 🌍 Хотя бы одну копию держите вне сервера с базой — на другом сервере или в облачном хранилище. Шифровальщик, зашифровавший сервер, зашифрует и соседнюю папку
Backup. - 🧪 Раз в месяц разворачивайте
.dtв тестовую базу и открывайте её. Копия, которую ни разу не загружали, — это надежда, а не копия. - 🚫 Не отправляйте
.dtпо почте и в мессенджерах подрядчикам. Если программисту нужна копия для отладки, лучше дать ему.cfили обезличенную базу.
Частые вопросы
Можно ли выгрузить CF, если пользователи работают в базе?
Как получить CF, если доступ к конфигуратору есть, а пароля администратора нет?
Можно ли из CF восстановить данные?
.cf нет ни одного документа или справочника — только структура. Данные восстанавливаются из .dt или резервной копии СУБД.Чем выгрузка DT отличается от бэкапа SQL?
.dt — универсальный формат платформы, его можно загрузить в файловую базу или на другую СУБД. Бэкап SQL Server или PostgreSQL быстрее для больших баз, но восстанавливается только в ту же СУБД.Подойдёт ли CF от одной базы для обновления другой?
.cf полностью заменит конфигурацию целевой базы, поэтому сначала сохраните её текущую конфигурацию и данные.Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»