Работа с тестовой копией базы 1С:Зарплата и Управление Персоналом (ЗУП) — обязательный этап перед обновлениями, доработками или миграцией. Ошибка в рабочей базе может парализовать расчёт зарплаты, нарушить отчётность или привести к потере данных. Но как правильно скопировать базу, чтобы тестовая версия была актуальной, а рабочая — защищённой?

Многие администраторы допускают критическую ошибку: просто копируют файлы базы без учёта транзакций, блокировок или особенностей SQL-сервера. В результате тестовая копия содержит неполные данные, а рабочая база после восстановления «ломается». Эта статья поможет избежать таких проблем — здесь разобраны 5 способов копирования (от ручного до автоматизированного), нюансы для разных версий 1С:Предприятие 8.3 и SQL/файлового вариантов, а также типичные ошибки с решениями.

Если вы никогда не копировали базу 1С ЗУП раньше, начните с первого раздела — там объяснено, почему нельзя просто скопировать папку с базой. Опытным администраторам будет полезен раздел про автоматизацию через powershell или 1cv8 с ключами.

📊 Как часто вы создаёте тестовую копию базы 1С ЗУП?
Перед каждым обновлением
Раз в квартал
Только перед критическими изменениями
Никогда не делал

Почему нельзя просто скопировать папку с базой 1С ЗУП?

Самая распространённая ошибка — копирование папки базы (например, C:\1C_Bases\ZUP) через Проводник Windows. Это работает только для файлового варианта 1С, но и там чревато проблемами:

Во-первых, при копировании «на лету» (когда база открыта пользователями) файлы могут быть заблокированы или содержать несохранённые транзакции. В результате тестовая копия будет неконсистентной: например, документы «Зарплата к выплате» окажутся без проводок, а регистры накопления — с разбитыми итогами.

Во-вторых, даже в файловом варианте 1С использует временные файлы (.cdx, .lgp), которые не всегда корректно копируются. При открытии такой копии вы можете увидеть ошибку:

«Файл базы данных повреждён или имеет неверный формат»

В случае клиент-серверного вариантаMicrosoft SQL Server или PostgreSQL) копирование папки с файлами базы (.mdf, .ldf) вообще бессмысленно — нужны специализированные инструменты вроде SQL Server Management Studio или утилиты pg_dump.

💡

Если вам срочно нужна копия файловой базы, а пользователи работают — используйте утилиту chdbfl.exe (входит в дистрибутив 1С) для создания резервной копии «горячей» базы. Команда:

chdbfl.exe C:\1C_Bases\ZUP /DumpIB C:\Backup\ZUP.dt

Способ 1: Резервное копирование через Конфигуратор (для файлового варианта)

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

Пошаговая инструкция:

  1. Закройте все сеансы пользователей в базе ЗУП (через Администрирование → Активные пользователи).
  2. Откройте Конфигуратор от имени администратора.
  3. Перейдите в Администрирование → Выгрузить информационную базу.
  4. Укажите путь для сохранения файла (.dt) и дождитесь завершения.

Готовый файл .dt можно:

  • 📁 Сохранить на внешний диск для архива.
  • 🔄 Загрузить в новую базу через Администрирование → Загрузить информационную базу.
  • 🧪 Использовать для тестов: создайте пустую базу и загрузите в неё .dt.

Закрыты все сеансы пользователей|

Свободно не менее 20% места на диске|

Путь для сохранения — на другом физическом диске (не на системном)|

Имя файла содержит дату (например, ZUP_20260515.dt)-->

⚠️ Внимание: Если база весит более 10 ГБ, выгрузка может занять несколько часов. В этом случае лучше использовать побитовое копирование (способ 3) или скрипты powershell.

Способ 2: Копирование через SQL-сервер (для клиент-серверного варианта)

Для баз 1С ЗУП на Microsoft SQL Server или PostgreSQL копирование осуществляется на уровне СУБД. Здесь нельзя просто скопировать файлы .mdf/.ldf — нужно создать бэкап базы данных и восстановить его под другим именем.

Инструкция для Microsoft SQL Server:

  1. Откройте SQL Server Management Studio (SSMS).
  2. Правой кнопкой по базе 1С → Tasks → Back Up.
  3. Выберите тип бэкапа Full, укажите путь (например, D:\Backups\ZUP_20260515.bak).
  4. После завершения создайте новую базу через Restore Database, указав другое имя (например, ZUP_Test).

Для PostgreSQL используйте команду:

pg_dump -U postgres -F c -b -v -f "D:\Backups\ZUP_20260515.backup" ZUP_DB

где:

  • -U postgres — пользователь СУБД;
  • -F c — формат сжатого дампа;
  • -b — включить BLOB-объекты (важно для 1С!).

⚠️ Внимание: При восстановлении бэкапа в PostgreSQL не забудьте создать пользователя 1С с теми же правами, что и в оригинальной базе. Иначе тестовая копия не откроется!

Что делать, если бэкап SQL занимает слишком много места?

Используйте сжатие на уровне СУБД:

- В SQL Server: включите опцию Compress backup в настройках бэкапа.

- В PostgreSQL: добавьте ключ --compress=9 к команде pg_dump.

Также можно разделить бэкап на части (например, отдельно данные и индексы) или исключить старые документы через параметр --exclude-table-data.

Способ 3: Побитовое копирование (для больших баз)

Если база 1С ЗУП занимает десятки или сотни гигабайт, выгрузка через Конфигуратор или SQL-бэкап может занять недопустимо много времени. В этом случае используют побитовое копирование с помощью утилит вроде Robocopy (Windows) или rsync (Linux).

Команда для Robocopy (Windows):

robocopy "C:\1C_Bases\ZUP" "D:\Backup\ZUP_Copy" /MIR /ZB /R:1 /W:1 /LOG:"C:\Logs\copy_ZUP.log"

где:

  • /MIR — зеркальное копирование (удалит в целевой папке файлы, отсутствующие в источнике);
  • /ZB — режим перезапуска (важно для больших файлов);
  • /LOG — ведение лога (поможет отследить ошибки).

Преимущества метода:

  • ⚡ Быстрее, чем выгрузка через 1С (особенно для баз >50 ГБ).
  • 🔄 Можно копировать «на лету» (но риск неконсистентности остаётся!).
  • 💾 Подходит для инкрементального бэкапа (копируются только изменённые файлы).

⚠️ Внимание: Побитовое копирование не гарантирует целостность данных, если база открыта пользователями. Используйте этот метод только для файлового варианта 1С и обязательно проверяйте тестовую копию на ошибки через Тестирование и исправление в Конфигураторе.

Способ 4: Автоматизация через Powershell или 1cv8

Для регулярного копирования (например, еженедельного) удобно использовать скрипты. Ниже пример для Powershell, который создаёт бэкап файловой базы и отправляет лог на почту:

$Source = "C:\1C_Bases\ZUP"

$Destination = "D:\Backups\ZUP_$(Get-Date -Format 'yyyyMMdd')"

$LogFile = "C:\Logs\Backup_ZUP.log"

Копирование

robocopy $Source $Destination /MIR /ZB /R:1 /W:1 /LOG:$LogFile /TEE

Проверка результата

if ($LASTEXITCODE -lt 8) {

Send-MailMessage -To "admin@company.ru" -Subject "Бэкап 1С ЗУП успешен" -Body "Лог прикреплён" -Attachments $LogFile -SmtpServer "smtp.company.ru"

} else {

Send-MailMessage -To "admin@company.ru" -Subject "ОШИБКА бэкапа 1С ЗУП!" -Body "Код ошибки: $LASTEXITCODE" -SmtpServer "smtp.company.ru"

}

Для клиент-серверного варианта можно автоматизировать SQL-бэкап через 1cv8 с ключом /DumpIB:

"C:\Program Files\1cv8\8.3.26.102\bin\1cv8.exe" CONFIG /S "server\ZUP" /N "Admin" /P "password" /DumpIB "D:\Backups\ZUP.dt" /Out "C:\Logs\Dump.log"

Плюсы автоматизации:

  • ⏰ Экономит время (настройка один раз — работа на годы).
  • 📧 Уведомления об ошибках (не пропустите сбой бэкапа).
  • 🔄 Можно интегрировать с облачными хранилищами (например, загружать .dt в Yandex Disk).
💡

Автоматизация бэкапов снижает риск человеческой ошибки на 90%. Даже простой скрипт на 10 строк избавит от рутинных действий и гарантирует регулярность копий.

Способ 5: Использование сторонних утилит (1C:Fresh, Infostart Backup)

Если вам нужны расширенные возможности (инкрементальные бэкапы, облачное хранилище, проверка целостности), рассмотрите специализированные инструменты:

Утилита Поддержка Особенности Стоимость
1C:Fresh Файловый и SQL Облачный бэкап, версия для тестирования изменений От 1 500 ₽/мес
Infostart Backup Файловый и SQL Автоматическое резервирование, уведомления, шифрование От 3 000 ₽
V8Backup Файловый Бесплатная, простой интерфейс, поддержка .dt Бесплатно
SQLBackupAndFTP SQL Server Автоматическая загрузка бэкапов в облако (Google Drive, Dropbox) От 500 ₽/мес

⚠️ Внимание: Перед использованием сторонних утилит проверьте совместимость с вашей версией 1С ЗУП и СУБД. Например, 1C:Fresh не поддерживает PostgreSQL в базовой комплектации.

Типичные ошибки и как их избежать

Даже опытные администраторы сталкиваются с проблемами при копировании базы 1С ЗУП. Вот TOP-5 ошибок и способы их решения:

  1. Ошибка «Файл повреждён» при открытии тестовой копии

    Причина: Копирование «на лету» или прерванная выгрузка.

    Решение: Используйте Тестирование и исправление в Конфигураторе или восстановите бэкап заново.

  2. Тестовая база «не видит» пользователей

    Причина: При восстановлении SQL-бэкапа не перенесены логины СУБД.

    Решение: Создайте пользователей вручную через SSMS или скрипт:

    CREATE LOGIN [1C_User] WITH PASSWORD='password';
    

    USE [ZUP_Test];

    CREATE USER [1C_User] FOR LOGIN [1C_User];

    EXEC sp_addrolemember 'db_owner', '1C_User';

  3. Размер тестовой базы в 2 раза больше оригинала

    Причина: В SQL-бэкапе включены неиспользуемые индексы или старые данные.

    Решение: Очистите базу перед копированием (удалите помеченные объекты через Администрирование → Очистка базы).

🔹 Другие распространённые проблемы:

  • 🔴 Ошибка лицензии — тестовая база требует отдельной лицензии 1С. Решение: используйте учебную лицензию или ключ для тестирования.
  • 🔴 Медленная работа тестовой копии — проверьте настройки SQL-сервера (например, ограничение памяти для тестового экземпляра).
  • 🔴 Не совпадают итоги в отчётах — возможно, в тестовой базе не пересчитаны регистры. Запустите Пересчёт итогов в Конфигураторе.
Как ускорить работу тестовой базы?

1. Отключите фоновые задачи (например, регламентные задания).

2. Уменьшите период хранения данных в настройках ЗУП (например, оставьте только текущий год).

3. Для SQL-варианта создайте тестовую базу на SSD-диске и выделите ей не менее 4 ГБ оперативной памяти в настройках SQL Server.

FAQ: Частые вопросы по копированию базы 1С ЗУП

Можно ли скопировать базу 1С ЗУП без Конфигуратора?

Да, но с оговорками:

  • Для файлового варианта — через побитовое копирование (robocopy) или утилиту chdbfl.exe.
  • Для SQL-варианта — только через бэкап СУБД (SSMS, pg_dump).

⚠️ Без Конфигуратора нет гарантии целостности данных, если база открыта пользователями.

Сколько места нужно для копии базы 1С ЗУП?

Зависит от размера оригинальной базы:

  • Файловый вариант: копия займёт столько же места (+10% на временные файлы).
  • SQL-вариант: бэкап (.bak) обычно на 20–30% меньше оригинала за счёт сжатия.

💡 Совет: Перед копированием очистите базу от ненужных данных (архивные документы, логи).

Как перенести тестовую копию на другой компьютер?

Для файловой базы:

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

Для SQL-варианта:

  1. Восстановите бэкап (.bak) на целевом SQL-сервере.
  2. Настройте подключение в 1С через Администрирование → Информационные базы.
Что будет, если прервать копирование базы?

Последствия зависят от метода:

  • Выгрузка через Конфигуратор: файл .dt будет повреждён. Удалите его и начните заново.
  • SQL-бэкап: файл .bak может быть неполным. Проверьте его целостность через RESTORE VERIFYONLY.
  • Побитовое копирование: целевая папка будет в неконсистентном состоянии. Удалите её полностью перед повторной попыткой.
Нужно ли обновлять тестовую копию 1С ЗУП?

Да, если вы тестируете:

  • Обновления конфигурации (например, переход на новую версию ЗУП).
  • Изменения в расчётах зарплаты или кадровом учёте.
  • Интеграцию с другими системами (например, 1С:Бухгалтерия или ЗГУ).

🔄 Обновляйте тестовую базу не реже 1 раза в квартал, чтобы данные оставались релевантными.