К статье
Практический материал

Администрирование · 10 мин

Как сделать тестовую базу 1С из рабочей

Как создать тестовую базу 1С из копии рабочей: выгрузка DT, создание через конфигуратор, SQL и файловый вариант. Проверка, ошибки, рекомендации.

Тестовая база 1С нужна всякий раз, когда изменения опасно проверять на реальных данных: обновление конфигурации, доработка модулей, настройка обменов, обучение пользователей. Работа в копии позволяет сломать и восстановить всё что угодно без последствий для учёта.

Существует несколько способов создать тестовую базу: выгрузка рабочей базы в файл DT и загрузка в новую, копирование каталога файловой базы, создание копии средствами СУБД для клиент-серверного варианта. Выбор зависит от того, где развёрнута рабочая база и какой объём данных нужно перенести.

Главное правило: тестовая база должна быть физически отделена от рабочей и явно помечена, чтобы пользователи или регламентные задания случайно не подключились не туда. Ниже разобраны все варианты с пошаговыми действиями и проверкой результата.

Определитесь со способом создания копии

Для файловой базы небольшого размера оптимален способ «выгрузка DT → загрузка в новую базу». Он универсален, не требует доступа к серверу СУБД и работает на любой конфигурации. Его ограничение — время: выгрузка базы в десятки гигабайт может занять часы, и на это время нужен монопольный доступ.

Для клиент-серверной базы (MS SQL, PostgreSQL) быстрее и безопаснее сделать резервную копию средствами СУБД и восстановить её под новым именем, а затем подключить к серверу 1С. Это не останавливает работу пользователей надолго и сохраняет данные точно на момент копии.

Если нужна не полная копия, а пустая база той же конфигурации (например, для разработки «с нуля»), достаточно выгрузить конфигурацию в файл CF и загрузить в новую базу — данные при этом переноситься не будут.

Способы создания тестовой базы

Выгрузка DT и загрузка в новую базу

Универсальный способ для файловых баз. Требует монопольного доступа и времени на больших объёмах.

Копирование каталога файловой базы

Самый быстрый вариант: скопировать файл 1Cv8.1CD в новый каталог. Нельзя делать при открытых сеансах — риск повреждения.

Копия средствами СУБД

Для клиент-серверных баз. Требует прав администратора SQL-сервера, зато не останавливает работу.

Загрузка конфигурации из CF

Даёт пустую базу без данных. Подходит для разработки, но не для проверки обновлений на реальных данных.

Сделайте тестовую базу через выгрузку и загрузку DT

Это базовый сценарий, который подходит большинству пользователей файловых баз. Перед началом убедитесь, что в рабочей базе нет активных сеансов: выгрузка требует монопольного доступа, иначе конфигуратор выдаст ошибку.

Порядок действий
  1. 1
    Завершите работу всех пользователей в рабочей базе и отключите регламентные задания.
  2. 2
    Откройте рабочую базу в конфигураторе и выполните «Администрирование → Выгрузить информационную базу», укажите файл с расширением .dt.
  3. 3
    Дождитесь окончания выгрузки и проверьте, что файл DT существует и имеет ненулевой размер.
  4. 4
    Создайте новую базу: в стартовом окне 1С нажмите «Добавить → Создание новой информационной базы → без конфигурации».
  5. 5
    Откройте новую базу в конфигураторе и выполните «Администрирование → Загрузить информационную базу», выберите файл DT.
  6. 6
    Подтвердите загрузку и дождитесь завершения, затем обновите конфигурацию базы данных, если конфигуратор это предложит.

После загрузки конфигуратор может сообщить, что конфигурация базы данных не соответствует сохранённой конфигурации — это нормально, примите обновление. Если база большая, загрузка может занять заметное время, не прерывайте процесс.

Для файловой базы есть и более короткий путь: закрыть все сеансы и просто скопировать файл 1Cv8.1CD из каталога рабочей базы в новый каталог, а затем добавить этот каталог в список баз. Способ быстрый, но допустим только при полностью закрытой базе — копирование файла при открытых сеансах даёт повреждённую копию.

Создайте копию клиент-серверной базы через СУБД

Для базы на MS SQL Server последовательность такая: сделайте полную резервную копию рабочей базы через SQL Server Management Studio, затем восстановите её под новым именем базы данных. Работа пользователей при этом прерывается только на момент бэкапа, а при использовании копирования без снятия нагрузки можно выбрать удобное время.

После восстановления откройте консоль администрирования сервера 1С и создайте новую информационную базу, указав существующую базу данных с восстановленной копией. При создании снимите флаг блокировки регламентных заданий только после того, как отключите их в самой базе — иначе копия начнёт выполнять те же обмены, что и рабочая база.

Для PostgreSQL логика аналогична: дамп через pg_dump или копия через createdb -T (шаблонная база не должна иметь активных подключений), затем регистрация новой ИБ на сервере 1С. Не создавайте тестовую базу путём прямого подключения второй ИБ к той же самой базе данных — это приведёт к конфликтам и повреждению данных.

Отключите опасные механизмы в копии

Тестовая база — это точная копия рабочей, включая все настройки обменов, почты, синхронизаций и регламентных заданий. Если запустить её «как есть», она начнёт отправлять реальные письма контрагентам, выгружать данные на сайт или в другие системы и создавать дубли документов в связанных базах.

Первым делом после создания копии зайдите в неё в режиме предприятия и отключите регламентные и фоновые задания. В типовых конфигурациях для этого есть обработка «Блокировка работы с внешними ресурсами» (в составе БСП она часто срабатывает автоматически, если база запущена не из рабочего каталога или под другим именем). Проверьте также настройки обменов, учётных записей почты и подключённого оборудования.

Типичные ошибки
01
Запуск копии без отключения регламентных заданий — тестовая база отправляет реальные письма и выполняет обмены параллельно с рабочей.
02
Одинаковое название базы в списке — пользователи заходят в тестовую копию вместо рабочей и вводят туда настоящие документы.
03
Тестирование обновления на копии месячной давности — результат не отражает реальное состояние данных.
04
Обновление рабочей базы сразу после успешного теста без резервной копии — при скрытой проблеме откатываться не к чему.

Полезно явно пометить копию: назовите её «ТЕСТ» в списке баз, а в типовых конфигурациях можно установить заголовок системы или включить признак «Это тестовая информационная база», если конфигурация это поддерживает. Это снижает риск того, что пользователь по ошибке введёт реальные документы в копию.

Проверьте, что тестовая база работает корректно

После создания копии выполните контрольные проверки, прежде чем начинать на ней эксперименты. Убедитесь, что база открывается в режиме предприятия, ключевые отчёты формируются и показывают те же итоги, что и рабочая база на момент копирования.

Контрольные точки

Как проверить результат

Открытие базы в режиме предприятия
Норма

База открывается без ошибок, пользователи и права на месте

Тревожный признак

Ошибки при входе, отсутствуют пользователи или роли

Сверка итогов
Норма

Оборотно-сальдовая ведомость или ключевой отчёт совпадает с рабочей базой

Тревожный признак

Суммы расходятся — копия сделана некорректно

Регламентные задания
Норма

Все задания и обмены отключены, почта не отправляется

Тревожный признак

Копия выполняет обмены или шлёт письма

Имя базы в списке
Норма

Копия явно помечена как тестовая

Тревожный признак

Названия рабочей и тестовой базы неразличимы

Если предполагается тестировать обновление конфигурации, тестовая копия должна быть максимально свежей — иначе вы проверите обновление не на тех данных, которые реально существуют. Для регулярных экспериментов имеет смысл автоматизировать пересоздание копии по расписанию, например скриптом, который ночью делает бэкап и восстанавливает его в тестовую базу.

Типичные ошибки и ограничения

Выгрузка и загрузка DT не переносит некоторые внешние компоненты и настройки, хранящиеся вне базы: например, файлы, сохранённые на диске вне томов хранения, настройки на стороне СУБД, внешние печатные формы, подключённые в файловом виде. Если в копии чего-то не хватает, проверьте, не хранится ли это вне самой базы.

Ещё одно ограничение — лицензии. Клиентские лицензии 1С привязаны к компьютеру или серверу, а не к базе, поэтому тестовая база на том же оборудовании обычно работает без дополнительных лицензий. Но если вы разворачиваете копию на отдельном сервере, убедитесь, что лицензионная политика это покрывает.

Удобно держать два ярлыка списка баз: рабочий и тестовый, и выдавать тестовый список только тем, кто реально участвует в проверке. Это дешевле, чем разбирать последствия документов, введённых не в ту базу.
ПЗ
Практическое замечание

Когда тестовой копии недостаточно

Тестовая база воспроизводит данные, но не всегда воспроизводит нагрузку и инфраструктуру: другое оборудование, отсутствие реальных пользователей, отключённые интеграции. Поэтому успешное обновление на копии не гарантирует стопроцентный успех на рабочей базе — всегда делайте резервную копию рабочей базы непосредственно перед обновлением.

Для проверки производительности или работы интеграций копию лучше разворачивать в окружении, максимально близком к боевому: тот же сервер СУБД, те же версии платформы, копии связанных систем. Чем сильнее тестовая среда отличается от рабочей, тем меньше доверия к результатам проверки.

Итог

Что важно запомнить

Создайте копию через DT (файловая база) или средствами СУБД (клиент-серверная), отключите в ней регламентные задания и обмены, явно пометьте как тестовую и сверьте итоги с рабочей базой. Перед обновлением рабочей базы всегда делайте свежую резервную копию.

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

Можно ли сделать тестовую базу без выгрузки DT?

Да. Для файловой базы достаточно скопировать файл 1Cv8.1CD в новый каталог при полностью закрытых сеансах. Для клиент-серверной — сделать копию средствами СУБД и зарегистрировать её как новую базу на сервере 1С.

Сколько места нужно для тестовой базы?

Ориентируйтесь на размер рабочей базы плюс запас на время тестирования. Дополнительно потребуется место под файл DT или бэкап СУБД — в сжатом виде он обычно заметно меньше размера самой базы.

Нужно ли отключать пользователей рабочей базы при создании копии?

При выгрузке DT — да, требуется монопольный доступ. При копировании через СУБД прерывать работу надолго не нужно, но копия будет соответствовать моменту создания бэкапа.

Что будет, если не отключить обмены в тестовой копии?

Копия начнёт выполнять те же регламентные задания, что и рабочая база: отправлять письма, выгружать данные в связанные системы, создавать дубли документов. Это одна из самых опасных ошибок при работе с тестовыми базами.

Как часто нужно обновлять тестовую базу?

Перед каждым значимым тестом — обновления конфигурации, проверки доработок на актуальных данных. Для разработки без привязки к реальным данным достаточно пересоздавать копию по мере необходимости.