Почему перестала работать автоматическая выгрузка .dt после обновления платформы 1С?

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

В процессе эксплуатации систем на базе 1С:Предприятие системные администраторы часто сталкиваются с ситуацией, когда отработанные годами скрипты автоматизации выгрузки информационных баз в формат .dt внезапно перестают функционировать после штатного обновления платформы. Рассмотрим типичный сценарий: был выполнен переход с версии 8.3.18 на 8.3.20, в .bat файле был скорректирован путь к исполняемому файлу 1cv8.exe, однако задание в планировщике задач Windows начинает «висеть» бесконечно, не выполняя ни выгрузку, ни завершение сеансов пользователей.

Проанализируем причины такого поведения и разберем пошагово, как восстановить работоспособность автоматического резервного копирования.

Анализ проблемы взаимодействия планировщика и новой платформы

Выясним причину, по которой простое изменение пути к EXE-файлу в батнике оказывается недостаточным. Основная сложность заключается в том, как Планировщик заданий Windows взаимодействует с процессами в режиме Session 0 (изолированная сессия для служб и фоновых задач). При обновлении платформы 1С меняется не только путь к файлу, но и внутренние идентификаторы компонентов системы. Рассмотрим основные факторы влияния:

  1. Кэширование токенов безопасности: Планировщик задач при длительном существовании одного и того же задания может сохранять дескрипторы безопасности и хэши путей, связанные с предыдущим исполняемым файлом. При подмене пути на версию 8.3.20 система безопасности Windows может блокировать запуск или ограничивать права процесса, из-за чего 1С запускается, но не может инициализировать необходимые ресурсы.
  2. Контекст пользователя и профиль: Запуск задания в режиме «Выполнять для всех пользователей (независимо от регистрации в системе)» требует корректно настроенных прав на временные папки TEMP и TMP. В новых релизах платформы требования к доступности пользовательского профиля для формирования временных файлов при создании .dt стали более жесткими.
  3. Изменения в БСП (Библиотеке стандартных подсистем): Если используется современная конфигурация, такая как ERP 2.5, механизмы завершения работы пользователей через параметр /C ЗавершитьРаботуПользователей могут вести себя иначе в скрытом режиме планировщика.

Решение №1: Пересоздание задания в планировщике (основной метод)

Как показывает практика, наиболее быстрым и эффективным решением является полное удаление старого задания и создание его «с нуля». Это принудительно обновляет все внутренние связи планировщика с файловой системой и правами доступа. Выполним следующие шаги:

  1. Откроем Планировщик заданий и экспортируем настройки старого задания (на всякий случай).
  2. Удалим текущее задание, которое перестало работать.
  3. Создадим новое задание, указав в качестве действия запуск вашего .bat файла.
  4. В параметрах безопасности обязательно укажем учетную запись с правами Локального администратора и установим флаг «Выполнять с наивысшими правами».
  5. Проверим, что в поле «Рабочая папка» (Start in) указан путь к каталогу, где лежит скрипт, иначе относительные пути внутри батника могут не сработать.

Рассмотрим пример правильной строки запуска в батнике, которую мы используем для версии 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%

Решение №2: Настройка прав доступа к временным каталогам

Если пересоздание задания не помогло, проанализируем ситуацию с временными файлами. Процесс создания .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С будет использовать выделенное пространство с заведомо известными правами доступа.

Решение №3: Альтернативный способ завершения сеансов

Если команда 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 для регулярных бэкапов?

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

Преимущества .dt:

Недостатки .dt:

Профессиональный подход: Для клиент-серверных баз (SQL) основным методом бэкапа должен быть Native SQL Backup. Он выполняется «на лету» без выгона пользователей, работает в разы быстрее и позволяет восстанавливаться на определенный момент времени (Point-in-time recovery). Выгрузку в .dt в таком случае рекомендуется делать реже (например, раз в неделю) исключительно в целях дополнительного контроля целостности данных.

Итоги

Если после обновления платформы ваша автоматизация «сломалась», не спешите откатывать версию. В большинстве случаев проблема решается удалением и повторным созданием задачи в Планировщике Windows. Это действие очищает устаревшие контексты безопасности и позволяет новой платформе 8.3.20 корректно инициализировать свои процессы в фоновом режиме. Также не забывайте контролировать права на временные папки и рассмотрите возможность перехода на SQL-бэкапы, если объем вашей базы начал стремительно расти.

← На главную