В процессе эксплуатации систем на базе 1С:Предприятие системные администраторы часто сталкиваются с ситуацией, когда отработанные годами скрипты автоматизации выгрузки информационных баз в формат .dt внезапно перестают функционировать после штатного обновления платформы. Рассмотрим типичный сценарий: был выполнен переход с версии 8.3.18 на 8.3.20, в .bat файле был скорректирован путь к исполняемому файлу 1cv8.exe, однако задание в планировщике задач Windows начинает «висеть» бесконечно, не выполняя ни выгрузку, ни завершение сеансов пользователей.
Проанализируем причины такого поведения и разберем пошагово, как восстановить работоспособность автоматического резервного копирования.
Выясним причину, по которой простое изменение пути к EXE-файлу в батнике оказывается недостаточным. Основная сложность заключается в том, как Планировщик заданий Windows взаимодействует с процессами в режиме Session 0 (изолированная сессия для служб и фоновых задач). При обновлении платформы 1С меняется не только путь к файлу, но и внутренние идентификаторы компонентов системы. Рассмотрим основные факторы влияния:
8.3.20 система безопасности Windows может блокировать запуск или ограничивать права процесса, из-за чего 1С запускается, но не может инициализировать необходимые ресурсы.TEMP и TMP. В новых релизах платформы требования к доступности пользовательского профиля для формирования временных файлов при создании .dt стали более жесткими./C ЗавершитьРаботуПользователей могут вести себя иначе в скрытом режиме планировщика.Как показывает практика, наиболее быстрым и эффективным решением является полное удаление старого задания и создание его «с нуля». Это принудительно обновляет все внутренние связи планировщика с файловой системой и правами доступа. Выполним следующие шаги:
.bat файла.Рассмотрим пример правильной строки запуска в батнике, которую мы используем для версии 8.3.20.1789:
SET EXEPath=C:\Program Files\1cv8\8.3.20.1789\bin\1cv8.exe
SET BaseName=MyBase
SET 1CServer=Server1C
SET 1CUser=Admin
SET 1CPassw=Password123
SET BackUpPath=D:\Backups\
SET FileName=backup_%DATE%.dt
"%EXEPath%" CONFIG /S"%1CServer%\%BaseName%" /N%1CUser% /P%1CPassw% /DumpIB %BackUpPath%%FileName%
Если пересоздание задания не помогло, проанализируем ситуацию с временными файлами. Процесс создания .dt — это ресурсоемкая операция, требующая создания временной копии данных. В режиме планировщика 1С часто использует системный путь C:\Windows\Temp вместо пользовательского. Если у учетной записи, под которой бежит задание, нет полных прав на этот каталог, процесс «зависнет».
Рекомендуем явно переопределять пути к временным файлам в начале скрипта:
SET TEMP=D:\1C_Temp
SET TMP=D:\1C_Temp
IF NOT EXIST "D:\1C_Temp" MKDIR "D:\1C_Temp"
Это гарантирует, что 1С будет использовать выделенное пространство с заведомо известными правами доступа.
Если команда ENTERPRISE /DisableStartupMessages /C ЗавершитьРаботуПользователей продолжает зависать, это может быть связано с тем, что конфигурация ожидает интерактивного подтверждения или в базе остались фоновые задания, которые не дают установить монопольный режим. В современных версиях 1С:ERP и 1С:КА для этих целей лучше использовать средства администрирования кластера.
Посмотрим на пример использования V83.ComConnector (через VBScript), который можно вызвать из того же батника перед началом выгрузки. Этот метод работает напрямую через сервер 1С и не требует запуска клиентского приложения:
' Пример фрагмента VBS для отключения сеансов
Set Connector = CreateObject("V83.ComConnector")
Set Agent = Connector.ConnectAgent("Server1C")
Set Clusters = Agent.GetClusters()
' Далее перебор кластеров, поиск нужной базы и установка блокировки
' и принудительное завершение соединений
Важно понимать, что формат .dt (информационный дамп) создавался компанией 1С в первую очередь для переноса данных между разными СУБД (например, с MS SQL на PostgreSQL или в файловый вариант), а не для ежедневного резервного копирования огромных производственных баз.
Преимущества .dt:
Недостатки .dt:
.dt не загружается обратно из-за ошибок структуры, которые пропустил механизм выгрузки.Профессиональный подход: Для клиент-серверных баз (SQL) основным методом бэкапа должен быть Native SQL Backup. Он выполняется «на лету» без выгона пользователей, работает в разы быстрее и позволяет восстанавливаться на определенный момент времени (Point-in-time recovery). Выгрузку в .dt в таком случае рекомендуется делать реже (например, раз в неделю) исключительно в целях дополнительного контроля целостности данных.
Если после обновления платформы ваша автоматизация «сломалась», не спешите откатывать версию. В большинстве случаев проблема решается удалением и повторным созданием задачи в Планировщике Windows. Это действие очищает устаревшие контексты безопасности и позволяет новой платформе 8.3.20 корректно инициализировать свои процессы в фоновом режиме. Также не забывайте контролировать права на временные папки и рассмотрите возможность перехода на SQL-бэкапы, если объем вашей базы начал стремительно расти.