Разворачиваем информационную базу из выгрузки .dt: файловый и серверный вариант
Содержание
Чтобы создать базу 1С из файла DT, сначала добавьте в список баз новую пустую информационную базу (без конфигурации), откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу…, указав файл .dt. Частая ошибка — загружать DT поверх рабочей базы: загрузка полностью заменяет и конфигурацию, и данные, вернуть прежнее состояние без своей копии нельзя.
Инструкция подходит для платформы 8.3 и любой типовой или самописной конфигурации: БП, ЗУП, УТ, ERP. Процедура одна и та же, разница только в том, где лежит база — в папке на диске или на сервере 1С с СУБД.
Файл DT: что внутри и когда из него разворачивают базу
DT — это выгрузка информационной базы целиком. Внутри конфигурация, все данные, список пользователей с их правами и паролями. Создаётся он в Конфигураторе командой Администрирование → Выгрузить информационную базу… или ключом командной строки /DumpIB.
Из DT базу разворачивают в таких случаях:
- 🔁 перенос базы на другой компьютер или сервер;
- 🔄 смена варианта работы: файловая → клиент-серверная и обратно (DT не зависит от СУБД);
- 🧪 тестовая копия рабочей базы — проверить обновление, обработку, обучить сотрудника;
- 🛟 восстановление после сбоя из резервной копии;
- 📦 передача базы обслуживающей компании или аудитору.
Главное свойство формата — переносимость. Выгрузка из базы на MS SQL спокойно загружается в файловую базу на ноутбуке, и наоборот.
DT — не то же самое, что CF. Файл .cf содержит только конфигурацию, без документов и справочников. Если вам прислали .cf, данных в нём нет.
Что проверить до загрузки: файл, платформа, место на диске
Пять минут проверки избавляют от загрузки, которая падает на 90%.
Сам файл
- Размер. Файл в несколько килобайт или ровно 0 байт — выгрузка оборвалась. Реальная база весит от десятков мегабайт.
- Целостность после передачи. Если файл качали по сети или с облака, сравните контрольную сумму с исходной:
certutil -hashfile D:\Backup\buh.dt SHA256
Хеш на источнике и у вас должен совпасть до символа.
3. Расширение. Иногда архиватор или почта переименовывают файл. Нужно именно .dt, а не .dt.zip или .dt.part.
Платформа
Загружайте DT на той же версии платформы, на которой его выгрузили, или на более новой. Номер версии на приёмнике должен быть не ниже, чем на источнике: выгрузка из 8.3.24 в 8.3.18 обычно не загрузится.
Узнать версию
на источнике просто: в Конфигураторе Справка → О программе. Если источник уже недоступен, спросите у того, кто делал выгрузку.
Большие базы (десятки гигабайт) загружайте в 64-разрядный клиент. 32-разрядный процесс упирается в ограничение памяти и падает с сообщением о нехватке памяти.
Место на диске
База после загрузки занимает в несколько раз больше, чем файл DT: выгрузка сжата. Закладывайте свободного места примерно в 3–5 раз больше размера DT, плюс место под временные файлы в %TEMP%. Для DT на 2 ГБ это ориентировочно 6–10 ГБ.
Логин и пароль из исходной базы
Пользователи приезжают вместе с выгрузкой. После загрузки в базу пустят только того, кто есть в списке пользователей источника. Узнайте заранее логин и пароль администратора исходной базы — иначе загрузить вы сможете, а войти уже нет.
Создание базы 1С из файла DT через Конфигуратор
Это основной способ для файловой базы. Он же работает и для серверной, если базу на сервере уже создали (об этом в следующем разделе).
Шаг 1. Пустая база в списке
- Запустите 1С и в окне со списком баз нажмите Добавить.
- Выберите Создание новой информационной базы → Далее.
- Отметьте вариант Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы.
- Задайте понятное имя: например, «Бухгалтерия — копия из DT».
- Тип расположения — На данном компьютере или на компьютере в локальной сети.
- Укажите пустую папку, например
D:\Bases\Buh_copy. - Остальные параметры оставьте по умолчанию → Готово.
Шаблон конфигурации на этом шаге не выбирайте. Всё равно его целиком заменит содержимое DT.
Шаг 2. Загрузка выгрузки
- Выделите созданную базу и нажмите Конфигуратор.
- В меню выберите
Администрирование → Загрузить информационную базу…. - Укажите файл .dt и нажмите Открыть.
- Платформа предупредит, что данные будут заменены. Для пустой базы подтверждайте смело.
- Дождитесь окончания. Небольшая база загружается за минуты, база на 20–30 ГБ — за час и дольше. Прогресс виден в строке состояния внизу окна.
- В конце 1С предложит перезапустить Конфигуратор. Согласитесь.
После перезапуска появится окно авторизации — входите под пользователем из исходной базы.
Шаг 3. Первый запуск в режиме 1С:Предприятие
Откройте базу в пользовательском режиме. Типовые конфигурации на БСП при первом запуске заметят, что база переехала, и спросят, копия это или перемещённая база. Для тестовой копии отвечайте, что это копия: программа отключит регламентные задания, синхронизацию и обмены, которые иначе пошли бы с реальными контрагентами, банком и ЭДО.
Способ без окон: командная строка
Те же действия одной-двумя командами. Удобно, когда баз много или нет доступа к интерфейсу.
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh_copy" /Out "D:\Logs\create.log"
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh_copy" /N "Администратор" /P "" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Logs\restore.log" /DisableStartupDialogs
Номер версии в пути замените на свой. Первая команда создаёт пустую файловую базу, вторая загружает в неё DT. Ключ /N с пользователем при загрузке в пустую базу не обязателен, он нужен, если в базе уже есть список пользователей.
Есть и короткий вариант — CREATEINFOBASE с ключом /UseTemplate "D:\Backup\buh.dt": база создаётся сразу из выгрузки.
| Способ | Когда удобен | На что смотреть |
|---|---|---|
| Конфигуратор, вручную | разовая загрузка, одна база | версия платформы, место на диске |
1cv8 DESIGNER /RestoreIB | регулярные копии, удалённый сервер | лог /Out, код возврата |
CREATEINFOBASE /UseTemplate | быстро поднять новую файловую базу | лог /Out |
ibcmd | сервер без графического клиента, Linux | справка ibcmd help |
Утилита ibcmd появилась в платформе 8.3.14. Она умеет создавать базу и загружать в неё DT без запуска Конфигуратора. Набор параметров у неё зависит от версии платформы, поэтому точный синтаксис смотрите в ibcmd help infobase своей версии.
Загрузка DT в клиент-серверную базу на сервере 1С
В серверном варианте база живёт в СУБД (PostgreSQL или MS SQL Server), а загрузка идёт через кластер 1С. Сначала создаётся пустая база на сервере, затем в неё загружается DT.
Создание пустой базы на сервере
Через консоль администрирования серверов 1С:
- Раскройте
Центральные серверы 1С:Предприятия → <ваш сервер> → Кластеры → <кластер>. - Правой кнопкой по ветке Информационные базы → Создать → Информационная база.
- Заполните:
- Имя — как база будет называться на сервере, например
buh_copy; - Защищённое соединение — по умолчанию выключено;
- Сервер баз данных — адрес СУБД;
- Тип СУБД — PostgreSQL или MSSQLServer;
- База данных — имя базы в СУБД;
- Пользователь и пароль СУБД;
- флажок Создать базу данных в случае её отсутствия — включите;
- флажок Установить блокировку регламентных заданий — для копии рабочей базы включите обязательно.
- Имя — как база будет называться на сервере, например
- Нажмите ОК.
Можно создать базу и из окна запуска 1С: Добавить → Создание новой информационной базы → без конфигурации → На сервере 1С:Предприятия. Поля те же.
Дальше база добавляется в список, открывается в Конфигураторе, и DT загружается так же, как в файловом варианте: Администрирование → Загрузить информационную базу….
Чем серверный вариант отличается
- 🔒 Монопольный доступ. Загрузка DT требует, чтобы в базе не было других сеансов. Если вы загружаете поверх уже существующей серверной базы, сначала завершите сеансы пользователей и заблокируйте начало новых в свойствах базы в консоли. Пользователи потеряют несохранённую работу — делайте это вне рабочего времени и предупредите людей.
- 🗄️ Права в СУБД. Пользователю СУБД, указанному в карточке базы, нужны права на создание базы и таблиц. Без них загрузка падает на первых таблицах.
- 🐘 PostgreSQL. Используйте сборку PostgreSQL, рассчитанную на работу с 1С. Обычная сборка без доработок под 1С не подходит.
- ⏱️ Время. Загрузка на сервере обычно быстрее, чем в файловую базу, но при медленном диске СУБД разница пропадает.
Командная строка для серверной базы отличается только строкой подключения:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S "srv1c\buh_copy" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Logs\restore.log" /DisableStartupDialogs
Если на базе стоит блокировка сеансов с кодом разрешения, добавьте ключ /UC <код>.
Как понять, что загрузка прошла без ошибок: лог и проверки
Окно Конфигуратора с сообщением об успехе — хороший знак, но для пакетной загрузки его никто не видит. Поэтому проверка идёт по трём признакам.
Код возврата
1cv8.exe в пакетном режиме возвращает код завершения. 0 — успех, любое другое значение — ошибка. В bat-файле его читают через %ERRORLEVEL% сразу после команды.
Файл лога
Ключ /Out пишет в текстовый файл всё, что Конфигуратор вывел бы на экран. Откройте его и проверьте:
- есть строка об успешной загрузке информационной базы;
- нет строк со словами «ошибка», «не удалось», «недостаточно»;
- лог не обрывается на середине (признак падения процесса).
Быстрый поиск ошибок по логу:
findstr /I "ошибка не удалось недостаточно" "D:\Logs\restore.log"
Пустой вывод — хорошо. Учтите кодировку: если findstr не находит русские слова, откройте лог в Блокноте и ищите там.
Проверка самой базы
- Войдите в пользовательском режиме.
- Откройте пару последних документов и сверьте с источником даты и суммы.
- Сформируйте оборотно-сальдовую ведомость за последний месяц и сравните итоги с исходной базой.
Совпали итоги — данные перенесены полностью.
Что сделать с базой после восстановления из DT
Загруженная база работоспособна сразу, но несколько действий стоит выполнить, особенно для большой базы или копии рабочей.
Тестирование и исправление
В Конфигураторе: Администрирование → Тестирование и исправление…. Для свежей загрузки достаточно отметить:
- ✅ Реиндексация таблиц информационной базы;
- ✅ Пересчёт итогов;
- ✅ Сжатие таблиц информационной базы — для файловой базы.
Режим «Тестирование и исправление» тоже требует монопольного доступа. Для большой базы он идёт долго, запускайте его вне рабочего времени.
Статистика в СУБД
В серверной базе после массовой загрузки статистика СУБД устаревает, и первые отчёты могут строиться медленно. Помогает обновление статистики:
-- PostgreSQL
VACUUM ANALYZE;
-- MS SQL Server (в контексте базы)
EXEC sp_updatestats;
Безопасность тестовой копии
Копия рабочей базы — это копия всех настроек обмена, ЭДО, банка и почты. Проверьте:
- 📨 отключены ли регламентные задания (блокировка в консоли или ответ «это копия» при первом запуске);
- 🔗 не выгружает ли копия данные на сайт и в другие базы по расписанию;
- 📧 не отправляет ли рассылки с реальной почты.
Если копия будет жить долго, смените в ней пароли пользователей: в DT они те же, что в рабочей базе.
Автоматическая загрузка DT: bat-файл и планировщик заданий
Типичная задача: каждую ночь поднимать свежую тестовую копию из выгрузки рабочей базы. Её решают bat-файлом и Планировщиком заданий Windows.
Скрипт
@echo off
chcp 1251 >nul
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\Buh_test
set DT=D:\Backup\buh_latest.dt
set LOG=D:\Logs\restore_%date:~-4%%date:~3,2%%date:~0,2%.log
if not exist "%DT%" (
echo Файл выгрузки не найден >> "%LOG%"
exit /b 2
)
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "" /RestoreIB "%DT%" /Out "%LOG%" /DisableStartupDialogs
if %ERRORLEVEL% NEQ 0 (
echo Загрузка завершилась с ошибкой, код %ERRORLEVEL% >> "%LOG%"
exit /b 1
)
echo Загрузка выполнена успешно >> "%LOG%"
exit /b 0
Что важно в скрипте:
- Путь к
1cv8.exeс конкретной версией. После обновления платформы его нужно поправить. - Проверка, что DT вообще есть. Иначе ночью загрузится старый файл или ничего.
- Лог с датой в имени: удобно разбирать, какая ночь упала.
- Формат
%date%зависит от региональных настроек Windows. Проверьте, что имя файла получается корректным.
Расписание
Создайте задание через Планировщик заданий или командой:
schtasks /Create /TN "1C restore test base" /TR "D:\Scripts\restore_test.bat" /SC DAILY /ST 03:00 /RU "DOMAIN\svc1c" /RP *
Учётная запись задания должна иметь доступ к папке базы, к файлу DT и к папке логов. Запуск «от имени SYSTEM» часто не видит сетевые папки.
Скрипт загружает DT поверх базы Buh_test. Проверьте трижды, что в BASE указана тестовая база, а не рабочая. Ошибка в одной строке стирает рабочие данные.
Ошибки при загрузке DT и что с ними делать
Две ситуации стоят отдельного слова.
Загрузили DT не в ту базу. Если рабочая база была затёрта, вернуть её можно только из своей резервной копии — выгрузки DT или бэкапа СУБД. Поэтому перед загрузкой в существующую базу сначала выгрузите её текущее состояние в отдельный DT.
DT от другой конфигурации. Платформа не проверяет, что было в базе раньше. Загрузка ЗУП поверх Бухгалтерии пройдёт без вопросов, и в базе станет ЗУП. Это не ошибка программы, а повод проверить имя файла перед запуском.