Выгрузка конфигурации и резервное копирование базы в 1С 8.3
Содержание
В 1С 8.3 «сохранить конфигурацию
» и «сохранить базу
» — это два разных действия, и путают их постоянно. Конфигурация — это только структура: справочники, документы, отчёты, формы и код. Выгружается она через конфигуратор в файл .cf командой Конфигурация → Сохранить конфигурацию в файл…. Данные (остатки, проводки, справочники, которые заполнили пользователи) в .cf не попадают.
Чтобы сохранить базу целиком — вместе с введёнными данными — делают выгрузку информационной базы в файл .dt через меню Администрирование → Выгрузить информационную базу…. Ниже — оба способа по шагам, как сохранить расширения, как автоматизировать копии и как потом всё восстановить.
Что именно вы сохраняете: конфигурация, расширение или вся база
Перед выгрузкой определитесь, что нужно получить на выходе. От этого зависит и команда, и формат файла.
- 🧩 Конфигурация (
.cf) — только метаданные и код, без данных. Нужна, чтобы перенести доработки в другую базу, сравнить версии, откатить изменения в самой структуре. - 💾 Информационная база (
.dt) — конфигурация плюс все данные. Это полноценная резервная копия: из неё поднимается база «как была». - 🔌 Расширение конфигурации
(
.cfe) — отдельная надстройка над типовой, которую сохраняют независимо от основной конфигурации.
Правило простое: восстановить работу с нуля можно только из .dt или из бэкапа средствами СУБД. Файл .cf сам по себе данные не вернёт — он хранит лишь «скелет».
Для всех операций в конфигураторе понадобятся права администратора. Если вход выполняется под обычным пользователем, пункты выгрузки базы могут быть недоступны.
Проверка прав и подготовка перед выгрузкой
Выгрузку конфигурации (.cf) можно делать, пока пользователи работают — на них это не влияет. А вот загрузка .dt и обновление структуры требуют монопольного доступа: во время такой операции в базе не должно быть ни одного активного сеанса.
Что проверить до начала:
- Запустите 1С в режиме
Конфигуратор(не «1С:Предприятие»). Выгрузка доступна только отсюда. - Убедитесь, что вошли под учётной записью с ролью администратора — иначе часть команд меню
Администрированиебудет серой. - Для загрузки базы заранее попросите коллег выйти. Посмотреть активные сеансы можно в самом конфигураторе:
Администрирование → Активные пользователи. - Прикиньте место на диске. Файл
.dtсжимается, но для средней базы это сотни мегабайт, для крупной — единицы и десятки гигабайт.
Загрузка .dt полностью затирает текущую базу. Прежде чем загружать копию поверх рабочей базы, сделайте свежую выгрузку текущего состояния — иначе откатиться будет некуда.
Куда сохранять файлы — отдельный вопрос. Копия на том же диске, что и база, от сбоя диска не спасёт. Храните хотя бы одну копию на другом носителе или в сетевой папке.
Выгрузка конфигурации в файл .cf через конфигуратор
Это базовый способ сохранить именно структуру и доработки. Порядок действий:
- Откройте базу в режиме
Конфигуратор. - В меню выберите
Конфигурация → Открыть конфигурацию— дождитесь, пока дерево метаданных откроется. - Выполните
Конфигурация → Сохранить конфигурацию в файл…. - Укажите папку и имя файла, нажмите «Сохранить».
На выходе получится один файл .cf. В нём — текущая конфигурация базы (та, что открыта в дереве). Если в базе есть неподтверждённые изменения, выгрузится то, что видно в редакторе.
Важный нюанс для типовых конфигураций: у них есть две конфигурации — конфигурация базы данных (по которой реально работают пользователи) и основная конфигурация (которую редактируют). Команда Сохранить конфигурацию в файл… выгружает основную. Чтобы выгрузить именно ту, по которой идёт работа, используйте Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл….
Если нужно перенести только изменения, а не всю конфигурацию, в другой базе применяйте не загрузку, а Конфигурация → Сравнить, объединить с конфигурацией из файла…. Загрузка заменит конфигурацию целиком, объединение — аккуратно подтянет выбранные объекты.
Отдельно стоит знать про выгрузку в XML-файлы: Конфигурация → Выгрузить конфигурацию в файлы…. Этот формат удобен для хранения в системе контроля версий (Git) — каждый объект лежит отдельным файлом, и видно, что именно поменялось между версиями.
Полная резервная копия: выгрузка информационной базы в .dt
Когда нужна настоящая копия «на всякий случай» — выгружайте базу целиком.
- В конфигураторе откройте
Администрирование → Выгрузить информационную базу…. - Укажите путь и имя файла
.dt. - Нажмите «Сохранить» и дождитесь окончания — на крупной базе это несколько минут.
Файл .dt самодостаточен: в нём и конфигурация, и все данные, и пользователи с правами. Из него разворачивается точная копия базы
на любой машине с 1С подходящей версии платформы.
Ограничения, о которых стоит помнить:
- Выгрузка
.dtдля согласованности данных рассчитана на монопольный доступ. Если выгружать при активных пользователях, в копию могут попасть данные «в процессе» записи. - Для очень больших клиент-серверных баз выгрузка
.dtидёт долго и иногда завершается ошибкой по памяти или времени. Для таких баз основной способ резервного копирования — средствами СУБД (см. ниже). - Загрузить
.dtможно только на платформу с номером не ниже той, на которой выгружали. На более старую платформу файл не встанет.
Резервное копирование клиент-серверной базы средствами СУБД
Если база работает в клиент-серверном варианте (на SQL Server или PostgreSQL), штатный бэкап делают не через .dt, а на уровне самой СУБД. Это быстрее, надёжнее и не требует выгонять пользователей.
Для Microsoft SQL Server: настройте в SQL Server Management Studio план обслуживания (Maintenance Plan) с задачей Back Up Database, либо выполняйте резервную копию командой BACKUP DATABASE. Полную копию удобно дополнять разностными и копиями журнала транзакций — тогда база восстанавливается на точный момент времени.
Для PostgreSQL: используйте pg_dump для логической выгрузки одной базы или встроенные средства непрерывного архивирования для крупных инсталляций.
Бэкап средствами СУБД сохраняет базу как набор таблиц. Поднять её можно только обратно в ту же СУБД — открыть такой файл «просто в 1С», как .dt, не получится. Для переносимости между серверами всё равно пригодится периодическая выгрузка .dt.
Как сохранить расширения конфигурации (.cfe)
Расширения — это отдельные надстройки над типовой конфигурацией (появились в платформе 8.3.6). Их выгружают независимо, и при обновлении типовой они обычно сохраняются, но перед крупными работами копию лучше сделать.
- Откройте
Конфигурация → Расширения конфигурации— появится список подключённых расширений. - Выделите нужное расширение в списке.
- Выполните сохранение расширения в файл — на выходе получится файл
.cfe.
Чтобы вернуть расширение в базу, в том же окне расширений добавьте новое из файла .cfe, а затем выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Загрузка файла и обновление базы — это два отдельных шага: пока не обновили конфигурацию БД, расширение в работу не вступит.
Если дорабатывали печатные формы или добавляли реквизиты через расширение, именно .cfe — ваша страховка. Потеряете его — придётся повторять доработку заново.
Автоматизация: командная строка и планировщик задач
Руками выгружать копию каждый день никто не станет. Поэтому запуск конфигуратора автоматизируют через командную строку и планировщик Windows.
Конфигуратор умеет работать в пакетном режиме. Базовые ключи, в которых можно быть уверенным:
/DumpIB <файл.dt>— выгрузить информационную базу;/RestoreIB <файл.dt>— загрузить информационную базу;/DumpCfg <файл.cf>— выгрузить конфигурацию в файл;/LoadCfg <файл.cf>— загрузить конфигурацию из файла ;/UpdateDBCfg— обновить конфигурацию базы данных.
Пример команды для выгрузки файловой базы в .dt:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "C:\Bases\MyBase" /N "Администратор" /P "пароль" /DumpIB "D:\backup\mybase_%date%.dt"
Для клиент-серверной базы вместо /F "путь" указывают /S "сервер\имя_базы".
Дальше эта команда кладётся в .bat-файл, а в планировщике задач Windows (Task Scheduler) создаётся задание с нужным расписанием — например, ночью, когда в базе никого нет.
Автоматическая выгрузка .dt ночью предполагает, что пользователи вышли. Если кто-то работает круглосуточно, автоматизируйте бэкап средствами СУБД, а не через .dt — он требует монопольного доступа и может завершиться ошибкой при активных сеансах.
Полезно в имя файла подставлять дату (как в примере с %date%), чтобы копии не затирали друг друга, и отдельной задачей удалять файлы старше заданного срока.
Несколько практических советов по автоматизации:
- Запускайте задание планировщика от учётной записи, у которой есть права и на запись в папку бэкапов, и на работу в базе 1С.
- Направляйте вывод в лог-файл — ключом
/Out "путь\log.txt"конфигуратор запишет результат запуска, и утром будет видно, прошла выгрузка или упала с ошибкой. - Храните копии хотя бы за несколько дней назад. Если база повредилась, а вы это заметили не сразу, вчерашняя копия может оказаться уже с той же проблемой.
- Раз в какое-то время разворачивайте копию в тестовую базу и проверяйте, что она открывается. Бэкап, который ни разу не восстанавливали, — это ещё не бэкап.
Восстановление конфигурации и базы из копии
Восстановление — зеркало выгрузки, но действия зависят от того, что именно вы сохраняли.
Из файла .cf (конфигурация): откройте базу в конфигураторе, выполните Конфигурация → Загрузить конфигурацию из файла…, укажите .cf и подтвердите обновление конфигурации
базы данных. Это заменит структуру, данные останутся на месте. Если нужно не заменить всё, а подтянуть отдельные объекты — используйте объединение, а не загрузку.
Из файла .dt (вся база): здесь два пути.
- Поднять копию как новую базу: в окне запуска 1С нажмите «Добавить», создайте пустую информационную базу, затем в её конфигураторе выполните
Администрирование → Загрузить информационную базу…и укажите.dt. Рабочую базу это не трогает. - Восстановить поверх существующей базы — той же командой
Загрузить информационную базу…, но перед загрузкой убедитесь, что все пользователи вышли, и что есть свежая копия текущего состояния . Загрузка полностью затирает базу, отменить её нельзя.
После загрузки .dt платформа может предложить обновить конфигурацию базы данных — согласитесь, если появится такой запрос.
Из бэкапа СУБД: восстановление выполняется средствами самой СУБД (RESTORE DATABASE в SQL Server, восстановление дампа в PostgreSQL), а затем, при необходимости, база заново регистрируется в списке баз 1С через администрирование серверов.
Если после восстановления база ведёт себя странно — медленно открывается, выдаёт ошибки форм или отчётов — запустите Администрирование → Тестирование и исправление информационной базы в конфигураторе. Эта проверка пересчитывает итоги и устраняет часть логических нарушений, но тоже требует монопольного доступа, поэтому запускайте её в нерабочее время.
Частые ошибки при сохранении и восстановлении
Короткий разбор того, на чём спотыкаются чаще всего.
Частые вопросы
Чем отличается файл .cf от .dt?
.cf — это только конфигурация (структура и код), без данных. .dt — вся информационная база: конфигурация плюс данные и пользователи. Для резервной копии нужен .dt или бэкап СУБД.Можно ли выгрузить конфигурацию, пока люди работают?
.cf на пользователей не влияет. А вот загрузка .dt и обновление структуры требуют, чтобы в базе никого не было.На какую платформу можно загрузить .dt?
Нужно ли отдельно сохранять расширения?
.cfe через окно Конфигурация → Расширения конфигурации. При обновлении типовой они обычно сохраняются, но копия надёжнее.Как часто делать резервную копию базы?
.dt ночью через планировщик, клиент-серверную — копировать средствами СУБД.