При работе с конфигурацией «Управление торговлей 10.3» на платформе 1С:Предприятие 8.3 в файловом режиме пользователи часто сталкиваются с неприятной ситуацией: регламентные задания (например, обмен с сайтом) успешно запускаются, но спустя несколько часов работа прерывается сообщением «Ошибка. Менеджер заданий не активен». Эта проблема особенно актуальна для баз, использующих режим совместимости с версией 8.2.
В этой статье мы подробно разберем, почему возникает эта ошибка, как настроить систему для стабильной работы и какие технические нюансы платформы 8.3 влияют на выполнение фоновых процессов в файловом варианте.
Для начала выясним причину возникновения ошибки. В клиент-серверном варианте за выполнение заданий отвечает планировщик на стороне сервера. В файловом же режиме отдельного серверного процесса нет. Чтобы регламентные задания выполнялись, один из запущенных клиентских сеансов должен взять на себя роль «менеджера заданий».
В старых конфигурациях, таких как УТ 10.3, работающих в режиме совместимости с 8.2, этот механизм реализован через периодический вызов метода ВыполнитьОбработкуЗаданий(). Если сеанс, который инициировал работу менеджера, закрывается, аварийно завершается или «засыпает» из-за сетевых настроек, менеджер становится неактивным, и остальные пользователи получают соответствующее уведомление.
Первым делом проанализируем настройки конфигурации. В УТ 10.3 существует специальная настройка для регламентных заданий. Перейдем в меню Сервис — Настройка учета — Настройка параметров системы. На закладке «Общие» должен быть указан Пользователь для выполнения регламентных заданий.
Рассмотрим важные правила работы с этим пользователем:
ПолныеПрава).Разберем ситуацию, описанную в теме: платформа 8.3.12, но режим совместимости — 8.2. Это «пограничное» состояние создает определенные сложности. Начиная с версии 8.3.3, 1С реализовала возможность выполнения фоновых заданий в файловом режиме без участия активного пользователя, но этот механизм включается только если режим совместимости установлен в значение 8.3.3 или выше.
Так как УТ 10.3 требует режима совместимости 8.2, мы вынуждены использовать старый механизм. В этом случае крайне важно, чтобы в коде приложения (обычно в модуле обычного приложения) присутствовал вызов обработчика ожидания, который и будет «дергать» менеджер заданий. Посмотрим на пример типового кода:
Процедура ПриНачалеРаботыСистемы()
// Проверка, является ли текущий пользователь выделенным для заданий
Если ИмяПользователя() = Константы.ПользовательДляРегламентныхЗаданий.Получить() Тогда
ПодключитьОбработчикОжидания("ВыполнитьРегламентныеЗадания", 60);
КонецЕсли;
КонецПроцедуры
Процедура ВыполнитьРегламентныеЗадания() Экспорт
ВыполнитьОбработкуЗаданий();
КонецПроцедуры
Если в вашей базе этот код по каким-то причинам не отрабатывает или сеанс «зависает», менеджер заданий отключится через некоторое время.
Проанализируем техническое состояние платформы. Версия 8.3.12 известна специфическими проблемами с управлением памятью в файловых базах. Рекомендуем обновить платформу до стабильных релизов ветки 8.3.20 или выше. В новых версиях механизмы блокировок в файле .1CD были значительно оптимизированы.
Также выясним состояние локального кэша. Часто ошибка «Менеджер заданий не активен» возникает из-за повреждения временных файлов в профиле пользователя. Выполним следующие действия:
%AppData%\Local\1C\1cv8 и %AppData%\Roaming\1C\1cv8 для пользователя, под которым запускаются задания.1Cv8.lck в каталоге базы данных при отсутствии активных пользователей. Если он есть — удалим его вручную.Если база данных расположена на сетевом диске, проанализируем стабильность соединения. Файловый менеджер заданий крайне чувствителен к разрывам дескрипторов файлов. Если операционная система «усыпляет» сетевой адаптер или жесткий диск, сеанс 1С теряет связь с базой, и поток заданий прерывается.
Выполним настройку сервера/ПК, где лежит база:
Также стоит обратить внимание на протокол SMB. Если используются разные версии ОС (например, база на Windows Server 2012, а клиент на Windows 10), попробуем отключить кэширование имен файлов в реестре (параметры DirectoryCacheLifetime), так как это часто приводит к ложным сообщениям о недоступности файла базы.
Если штатные средства не помогают добиться стабильности на протяжении нескольких суток, рассмотрим «админский» способ решения проблемы. Можно создать скрипт, который будет принудительно перезапускать сеанс 1С для регламентных заданий каждые 4-6 часов. Это позволит очищать память и переинициализировать менеджер заданий до того, как произойдет критический сбой.
Пример логики скрипта на PowerShell:
1cv8.exe./F "ПутьКБазе" /N "Робот" /P "Пароль".Такой подход гарантирует, что даже при наличии утечек памяти или микро-разрывов сети, выполнение обмена с сайтом будет возобновлено автоматически.
Для решения проблемы «Менеджер заданий не активен» в УТ 10.3 необходимо обеспечить непрерывную работу одного выделенного сеанса, исключить влияние энергосберегающих функций ОС и, по возможности, обновить платформу до актуального релиза. Помните, что в режиме совместимости 8.2 файловая база требует «живого» пользователя для работы планировщика.