Разворачиваем информационную базу из выгрузки .dt: файловый и серверный вариант

· 11 мин

Содержание

Чтобы создать базу 1С из файла DT, сначала добавьте в список баз новую пустую информационную базу (без конфигурации), откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу…, указав файл .dt. Частая ошибка — загружать DT поверх рабочей базы: загрузка полностью заменяет и конфигурацию, и данные, вернуть прежнее состояние без своей копии нельзя.

Инструкция подходит для платформы 8.3 и любой типовой или самописной конфигурации: БП, ЗУП, УТ, ERP. Процедура одна и та же, разница только в том, где лежит база — в папке на диске или на сервере 1С с СУБД.

Файл DT: что внутри и когда из него разворачивают базу

DT — это выгрузка информационной базы целиком. Внутри конфигурация, все данные, список пользователей с их правами и паролями. Создаётся он в Конфигураторе командой Администрирование → Выгрузить информационную базу… или ключом командной строки /DumpIB.

Из DT базу разворачивают в таких случаях:

  • 🔁 перенос базы на другой компьютер или сервер;
  • 🔄 смена варианта работы: файловая → клиент-серверная и обратно (DT не зависит от СУБД);
  • 🧪 тестовая копия рабочей базы — проверить обновление, обработку, обучить сотрудника;
  • 🛟 восстановление после сбоя из резервной копии;
  • 📦 передача базы обслуживающей компании или аудитору.

Главное свойство формата — переносимость. Выгрузка из базы на MS SQL спокойно загружается в файловую базу на ноутбуке, и наоборот.

DT — не то же самое, что CF. Файл .cf содержит только конфигурацию, без документов и справочников. Если вам прислали .cf, данных в нём нет.

Что проверить до загрузки: файл, платформа, место на диске

Пять минут проверки избавляют от загрузки, которая падает на 90%.

Сам файл

  1. Размер. Файл в несколько килобайт или ровно 0 байт — выгрузка оборвалась. Реальная база весит от десятков мегабайт.
  2. Целостность после передачи. Если файл качали по сети или с облака, сравните контрольную сумму с исходной:
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. Запустите 1С и в окне со списком баз нажмите Добавить.
  2. Выберите Создание новой информационной базы → Далее.
  3. Отметьте вариант Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы.
  4. Задайте понятное имя: например, «Бухгалтерия — копия из DT».
  5. Тип расположения — На данном компьютере или на компьютере в локальной сети.
  6. Укажите пустую папку, например D:\Bases\Buh_copy.
  7. Остальные параметры оставьте по умолчанию → Готово.

Шаблон конфигурации на этом шаге не выбирайте. Всё равно его целиком заменит содержимое DT.

Шаг 2. Загрузка выгрузки

  1. Выделите созданную базу и нажмите Конфигуратор.
  2. В меню выберите Администрирование → Загрузить информационную базу….
  3. Укажите файл .dt и нажмите Открыть.
  4. Платформа предупредит, что данные будут заменены. Для пустой базы подтверждайте смело.
  5. Дождитесь окончания. Небольшая база загружается за минуты, база на 20–30 ГБ — за час и дольше. Прогресс виден в строке состояния внизу окна.
  6. В конце 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. Раскройте Центральные серверы 1С:Предприятия → <ваш сервер> → Кластеры → <кластер>.
  2. Правой кнопкой по ветке Информационные базы → Создать → Информационная база.
  3. Заполните:
    • Имя — как база будет называться на сервере, например buh_copy;
    • Защищённое соединение — по умолчанию выключено;
    • Сервер баз данных — адрес СУБД;
    • Тип СУБД — PostgreSQL или MSSQLServer;
    • База данных — имя базы в СУБД;
    • Пользователь и пароль СУБД;
    • флажок Создать базу данных в случае её отсутствия — включите;
    • флажок Установить блокировку регламентных заданий — для копии рабочей базы включите обязательно.
  4. Нажмите ОК.

Можно создать базу и из окна запуска 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 не находит русские слова, откройте лог в Блокноте и ищите там.

Проверка самой базы

  1. Войдите в пользовательском режиме.
  2. Откройте пару последних документов и сверьте с источником даты и суммы.
  3. Сформируйте оборотно-сальдовую ведомость за последний месяц и сравните итоги с исходной базой.

Совпали итоги — данные перенесены полностью.

Что сделать с базой после восстановления из 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

Что важно в скрипте:

  1. Путь к 1cv8.exe с конкретной версией. После обновления платформы его нужно поправить.
  2. Проверка, что DT вообще есть. Иначе ночью загрузится старый файл или ничего.
  3. Лог с датой в имени: удобно разбирать, какая ночь упала.
  4. Формат %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 от другой конфигурации. Платформа не проверяет, что было в базе раньше. Загрузка ЗУП поверх Бухгалтерии пройдёт без вопросов, и в базе станет ЗУП. Это не ошибка программы, а повод проверить имя файла перед запуском.

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

Можно ли загрузить DT в базу, где уже есть данные?
Можно, но всё содержимое базы, включая конфигурацию и пользователей, будет заменено. Объединения данных при загрузке не происходит.
Откроется ли DT без установленной 1С?
Нет. Файл читается только платформой 1С:Предприятие. Посмотреть содержимое можно лишь после загрузки в базу.
Сколько времени занимает загрузка?
Ориентировочно: база до 1 ГБ — несколько минут, 10–30 ГБ — от получаса до нескольких часов. Сильнее всего влияет скорость диска.
Нужна ли лицензия, чтобы загрузить DT?
Для работы Конфигуратора и пользовательского режима нужна лицензия платформы на компьютере, где вы работаете. Учебная версия загружает DT, но ограничивает объём данных, поэтому рабочая база в неё обычно не помещается.
Можно ли так перенести базу с Windows на Linux?
Да. DT не привязан к операционной системе и СУБД: выгрузку с Windows-сервера на MS SQL можно загрузить в базу на Linux с PostgreSQL.