Администрирование · 10 мин
Как изменить формат базы 1С: пошаговое руководство
Как изменить формат базы 1С: перевод из файлового в клиент-серверный режим, конвертация через конфигуратор, cnvdbfl, проверка результата и типичные ошибки.
Под «изменением формата базы 1С» обычно понимают три разные задачи: перевод файловой базы в клиент-серверный режим (SQL), обратный переход с сервера на файловый вариант и конвертацию самого файла 1Cv8.1CD между версиями формата платформы. Все три сценария выполняются штатными средствами — конфигуратором, утилитой выгрузки или средствами СУБД, — но требуют подготовки и обязательной резервной копии.
Главное правило любой смены формата: данные физически перемещаются через выгрузку в файл .dt или через механизмы СУБД, поэтому ошибка в середине процесса без копии означает потерю информации. Перед началом работ убедитесь, что у вас есть актуальная выгрузка .dt и что её размер соответствует ожидаемому объёму базы.
Ниже разобраны все три сценария с точными действиями, условиями выбора и способами проверить результат.
Как определить текущий формат базы
Прежде чем что-то менять, установите, с чем вы работаете. Откройте список информационных баз в окне запуска 1С, выделите базу и посмотрите строку в нижней части окна: для файловой базы там указан путь к каталогу с файлом 1Cv8.1CD, для клиент-серверной — имя сервера 1С и имя базы на нём.
Второй способ — в самой программе открыть раздел «О программе»: там указан режим работы (файловый или клиент-серверный) и версия платформы. Версия платформы важна, потому что файл базы, созданный под новой платформой, не откроется старой без конвертации.
Если база файловая, дополнительно проверьте размер 1Cv8.1CD. При приближении к нескольким гигабайтам файловый режим начинает работать нестабильно — это типичный сигнал к переходу на клиент-серверный вариант.
Ищите файл 1Cv8.1CD в указанном каталоге
Данные хранятся в СУБД, копию делайте средствами СУБД или через .dt
Нужна конвертация утилитой cnvdbfl.exe
Подготовка: резервная копия и условия безопасной работы
Любая смена формата начинается с выгрузки базы. Запустите конфигуратор, откройте меню «Администрирование» → «Выгрузить информационную базу» и укажите файл с расширением .dt. Дождитесь сообщения об успешном завершении — прерывать процесс нельзя.
На время работ завершите все сеансы пользователей: в конфигураторе это делается через «Администрирование» → «Активные пользователи», в клиент-серверном варианте — через консоль кластера. Активные соединения блокируют выгрузку и загрузку.
Проверьте свободное место на диске: файл .dt может занимать заметную долю размера базы, а временные файлы при загрузке — ещё столько же. Для больших баз запас в два-три размера базы считается разумным минимумом.
Перевод базы из файлового режима в клиент-серверный
Это самый частый сценарий: компания растёт, файловая база начинает тормозить, и её переносят на связку «сервер 1С + СУБД» (MS SQL, PostgreSQL или другую поддерживаемую). Сам формат хранения при этом меняется полностью — из одного файла 1Cv8.1CD данные превращаются в таблицы СУБД.
Алгоритм переноса не зависит от выбранной СУБД и выглядит одинаково: выгружаете .dt из файловой базы, создаёте пустую клиент-серверную базу и загружаете в неё выгрузку.
- 1Сделайте выгрузку .dt из файловой базы через конфигуратор
- 2Установите и настройте сервер 1С и СУБД, если их ещё нет
- 3В списке баз нажмите «Добавить» → «Создание новой информационной базы» → выберите клиент-серверный тип
- 4Укажите имя сервера 1С, тип СУБД, имя базы и учётные данные администратора СУБД
- 5Откройте новую пустую базу конфигуратором
- 6Выполните «Администрирование» → «Загрузить информационную базу» и выберите файл .dt
- 7Дождитесь завершения загрузки и реструктуризации, затем запустите базу в режиме предприятия
После загрузки платформа выполнит реструктуризацию — создание таблиц и индексов в СУБД. На больших базах это занимает заметное время, не прерывайте процесс. Если загрузка оборвалась, базу на сервере проще удалить и создать заново, чем пытаться исправить частично заполненную.
Особенности для PostgreSQL и MS SQL
Для PostgreSQL обычно используется сборка, адаптированная под 1С; стандартная сборка может работать некорректно. Для MS SQL убедитесь, что у учётной записи, от имени которой создаётся база, есть права на создание баз данных. Параметры сортировки и сравнения строк (collation) должны соответствовать требованиям платформы — иначе возможны ошибки при загрузке.
Обратный переход: из клиент-серверной в файловую базу
Обратная задача возникает при переносе базы на ноутбук для выездной работы, при отказе от серверной инфраструктуры или для создания локальной копии разработчику. Технически это тот же механизм: выгрузка .dt и загрузка в новую файловую базу.
Создайте пустую файловую базу через «Добавить» → «Создание новой информационной базы» (без шаблона), откройте её конфигуратором и загрузите .dt, выгруженный с сервера. Учтите ограничение: файловый режим не поддерживает часть серверных механизмов, и при большом объёме данных база будет работать медленнее, чем на SQL.
Конвертация файла 1Cv8.1CD между версиями платформы
Отдельный случай — когда формат самого файла базы не совпадает с версией платформы. Типичный признак: при открытии появляется сообщение о несовместимой версии файла базы данных. Такое бывает, когда базу скопировали с компьютера с другой версией платформы или когда нужно открыть старую базу новой платформой без запуска конфигуратора.
Для конвертации служит штатная утилита cnvdbfl.exe, которая находится в каталоге bin установленной платформы. Она умеет конвертировать файл в обе стороны — и в новый формат, и в старый (с ограничениями).
cnvdbfl.exe -c -i C:\Bases\Trade\1Cv8.1CD -f 8.3.8Ключ -i задаёт исходный файл, -f — целевой формат версии, -c выполняет конвертацию. Перед запуском закройте базу во всех программах и сделайте копию файла 1Cv8.1CD — утилита работает с файлом напрямую.
Альтернатива без командной строки: открыть базу конфигуратором нужной версии — платформа сама предложит конвертировать формат при первом запуске. Этот способ проще, но требует интерактивного подтверждения.
Проверка результата после смены формата
После загрузки или конвертации не ограничивайтесь тем, что база «открылась». Войдите в режим предприятия под своей учётной записью и проверьте ключевые участки: откройте несколько документов за разные периоды, сформируйте оборотно-сальдовую ведомость или другой основной отчёт и сравните итоги с исходной базой.
Затем выполните тестирование и исправление в режиме проверки логической целостности (без исправлений, только диагностика) — это выявит скрытые проблемы переноса. Для клиент-серверной базы дополнительно убедитесь, что регламентные задания перенастроены на новый сервер и не дублируются.
Как проверить результат
Совпадают с исходной базой до копейки
Расхождения в остатках — перенос неполный
Документы открываются без ошибок
Ошибки чтения, пустые табличные части
Ошибок не обнаружено
Сообщения о нарушении целостности
Выполняются один раз на новой площадке
Дублирование или отсутствие выполнения
Типичные ошибки и ограничения
Помните и об ограничениях: выгрузка .dt не переносит настройки подключения к серверу, хранилище конфигурации и внешние файлы (картинки, присоединённые документы, если они хранятся вне базы). Права пользователей переносятся, но пароли в некоторых сценариях потребуется задать заново.
Если база очень большая и выгрузка .dt занимает часы, рассмотрите альтернативу: для перехода между серверами с одной СУБД эффективнее перенести базу средствами самой СУБД (резервная копия и восстановление), а не через .dt.
Как выбрать действие
Частые вопросы
Можно ли изменить формат базы без конфигуратора?
Частично. Конвертацию файла между версиями платформы выполняет утилита cnvdbfl.exe без конфигуратора. А вот перенос между файловым и клиент-серверным режимом без конфигуратора невозможен — выгрузка .dt делается именно в нём (либо через пакетный запуск конфигуратора из командной строки).
Потеряются ли данные при переходе с файловой базы на SQL?
При корректной выгрузке и загрузке .dt данные переносятся полностью, включая документы, справочники и настройки пользователей. Не переносятся только внешние по отношению к базе объекты: файлы, хранящиеся в томах на диске, и настройки подключения к серверу.
Сколько времени занимает загрузка .dt в клиент-серверную базу?
Зависит от размера базы, производительности сервера и СУБД: небольшие базы загружаются за минуты, большие — за часы. Загрузку удобно запускать в нерабочее время, предварительно убедившись в достатке свободного места на сервере СУБД.
Что делать, если cnvdbfl.exe выдаёт ошибку?
Проверьте, что файл базы не открыт ни в одной программе, что у вас есть права на запись в каталог и что запущена утилита из каталога той версии платформы, формат которой вам нужен. Если файл повреждён, сначала выполните восстановление через тестирование и исправление на исходной платформе.
Можно ли вернуть старый формат после конвертации в новый?
Утилита cnvdbfl.exe поддерживает обратную конвертацию файла в старый формат, но только если база не была открыта и изменена новой платформой с обновлением конфигурации. Надёжный способ отката — восстановление резервной копии, сделанной до конвертации.
Нужно ли менять лицензии при переходе на клиент-серверный режим?
Для работы сервера 1С требуется отдельная лицензия на сервер, а клиентские лицензии остаются теми же. Перед миграцией убедитесь, что серверная лицензия активирована, иначе база на сервере просто не запустится.
Что важно запомнить
Смена формата базы 1С всегда строится вокруг выгрузки .dt и загрузки в базу нового типа, а для файла 1Cv8.1CD между версиями платформы используется cnvdbfl.exe. Резервная копия до начала работ и проверка итогов после — обязательные этапы, которые нельзя пропускать.