Почему 1С 7.7 зависает при запуске через планировщик задач и как отключить советы дня?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

При настройке регулярного выполнения регламентных процедур (выгрузки данных, ночного обмена или переиндексации) в 1С:Предприятии 7.7 системные администраторы и разработчики часто сталкиваются с ситуацией: при интерактивном запуске через ярлык все отрабатывает штатно, но при старте из Планировщика заданий Windows процесс 1cv7s.exe или 1cv7.exe появляется в диспетчере задач, входит в базу и намертво зависает, не выполняя целевой программный код.

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

Способ 1. Отключение показа советов дня в интерактивном режиме и через реестр

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

  1. Запустим 1С 7.7 вручную под той же учетной записью Windows и под тем же пользователем базы данных 1С, под которыми планируется запуск задачи в расписании.
  2. При появлении окна Советы дня снимем галочку Показывать советы при запуске и закроем диалог.
  3. Завершим сеанс 1С в обычном режиме, чтобы изменения корректно записались в системный реестр Windows.

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

В ветке HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<Имя_Базы>\V7\<Имя_Пользователя_1С>\TipOfTheDay установим строковый или числовой параметр ShowInStart со значением 0.

Способ 2. Удаление файлов подсказок из каталогов программы

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

  1. Перейдем в каталог исполняемых файлов платформы (по умолчанию это C:\Program Files (x86)\1Cv77\BIN\).
  2. Найдем и удалим (или переименуем) файлы с советами — обычно это файлы с расширением .tip (например, tips.tip для режима «Предприятие» и соответствующий файл подсказок конфигуратора).
  3. Проверим корневой каталог самой информационной базы: если там присутствуют локальные копии файлов подсказок, их также необходимо удалить.

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

Способ 3. Перенос фоновой логики из глобального модуля в обработку с таймером

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

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


Процедура ПриОткрытии()
    // Запускаем основное регламентное действие
    Выгрузка();
    
    // Взводим обработку ожидания для периодического повтора или корректного выхода
    Форма.ОбработкаОжидания("Выгрузка", 75);
КонецПроцедуры

Для завершения сеанса без вывода пользователю предупреждающего диалога «Завершить работу с программой?» в коде 1С 7.7 обязательно вызываем процедуру ЗавершитьРаботуСистемы(0). Нулевой параметр отключает интерактивный запрос на подтверждение закрытия.

Способ 4. Проверка контекста учетной записи и настроек Планировщика Windows

Выясним причину, почему пересоздание задачи в планировщике нередко решает проблему зависания, когда параметры командной строки кажутся верными:

  1. Учетная запись выполнения: Если задача запускается от имени SYSTEM, профиль пользователя пуст, а сетевые ресурсы недоступны. Всегда указываем выделенную сервисную учетную запись с правами локального входа и правами на каталог базы данных.
  2. Сетевые пути (UNC): В параметрах командной строки базы ключом /D никогда не указываем буквы подключенных сетевых дисков (например, Z:\Base), так как в неинтерактивном сеансе планировщика буквы дисков отсутствуют. Используем полный путь: /D"\\Server\Share\Base".
  3. Поле «Рабочая папка» (Start in): В свойствах действия планировщика обязательно заполняем рабочую директорию — прописываем туда путь к папке BIN платформы, чтобы программа могла корректно подгрузить все вспомогательные библиотеки и таблицы кодировок.
  4. Таймаут выполнения: Во вкладке «Параметры» задачи планировщика всегда активируем опцию «Останавливать задачу, выполняемую дольше...» (например, 2–3 часа), чтобы один непредвиденный сбой не заблокировал все последующие регламентные запуски.
← На главную