Фоновые и регламентные задания 1С 8.3: где найти список, как понять состояние и снять зависшее

· 9 мин

Содержание

Фоновые задания в 1С 8.3 смотрят в разделе Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Откроется форма с двумя вкладками: на «Регламентных заданиях» — расписание, на «Фоновых заданиях» — список того, что запущено сейчас или недавно завершилось. Путь одинаковый для БП 3.0, ЗУП 3.1, УТ 11 и других конфигураций на Библиотеке стандартных подсистем.

Частое заблуждение — искать этот список в Конфигураторе. Там его нет: Конфигуратор показывает только описание регламентных заданий в дереве метаданных, а не реальные запуски. Живую картину дают три места: обработка в пользовательском режиме, консоль администрирования кластера и журнал регистрации.

Где найти фоновые задания в интерфейсе «Такси»

Основной путь — через раздел администрирования. Он доступен пользователю с полными правами.

  1. Откройте раздел Администрирование.
  2. Перейдите в Обслуживание.
  3. Разверните группу Регламентные операции.
  4. Нажмите ссылку Регламентные и фоновые задания.
  5. Переключитесь на вкладку Фоновые задания.
КонфигурацияПуть к списку
Бухгалтерия предприятия 3.0Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
ЗУП 3.1Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
Управление торговлей 11Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
Нетиповая конфигурация без БСПраздела может не быть — используйте консоль кластера или журнал регистрации

Если раздела Обслуживание не видно, у пользователя нет роли администратора. Войдите под учётной записью с полными правами — обычным пользователям список фоновых заданий не показывается.

Запасной путь через «Функции для технического специалиста»

Бывает, что панель разделов урезана или ссылку убрали настройкой интерфейса. Тогда:

  1. Нажмите кнопку главного меню (значок с тремя полосками в левом верхнем углу).
  2. Выберите Сервис и настройки → Параметры.
  3. Поставьте флажок Отображать команду "Функции для технического специалиста" (в старых релизах платформы флажок называется «Отображать команду “Все функции”»).
  4. Снова откройте главное меню, выберите Функции для технического специалиста.
  5. Разверните ветку Обработки и откройте Регламентные и фоновые задания.

Это та же обработка, что и в разделе администрирования, просто открытая напрямую.

Как читать список: состояния фоновых заданий

На вкладке Фоновые задания каждая строка — один запуск. Колонки, на которые стоит смотреть в первую очередь:

  • 🕐 Начало и окончание — когда задание стартовало и когда завершилось. Пустое «Окончание» у старой строки — первый признак зависания.
  • 🏷 Наименование — понятное имя, например «Загрузка курсов валют» или «Обновление полнотекстового индекса».
  • 🔗 Регламентное задание — заполнено, если запуск сделан по расписанию. Пусто — задание запустил пользователь или код (проведение длинного отчёта, загрузка данных).
  • ⚙️ Метод — процедура общего модуля, которую выполняет задание. Пригодится разработчику.
  • 🚦 Состояние — главный столбец.

Платформа знает четыре состояния фонового задания:

СостояниеЧто значитЧто делать
АктивноЗадание выполняется прямо сейчасНичего, если время работы разумное. Если висит часами — разбирать
ЗавершеноОтработало без ошибокНичего
Завершено аварийноУпало с ошибкойОткрыть строку и прочитать текст ошибки
ОтмененоОстановлено пользователем или кодомПроверить, кто и зачем отменил

Двойной щелчок по строке открывает карточку запуска. Для аварийных заданий там есть текст ошибки — именно с ним дальше идут к администратору или разработчику.

Список завершённых заданий не хранится вечно. Платформа держит информацию о них ограниченное время, после перезапуска рабочих процессов сервера старые строки пропадают. Для разбора событий за прошлые дни используйте журнал регистрации.

Фильтр по состоянию

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

Фоновые задания в консоли кластера и журнале регистрации

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

Консоль администрирования серверов 1С

В клиент-серверном варианте каждое фоновое задание выполняется в отдельном сеансе.

  1. Запустите «Администрирование серверов 1С:Предприятия».
  2. Разверните Центральные серверы 1С:Предприятия → имя сервера → Кластеры → кластер → Информационные базы → нужная база → Сеансы.
  3. Посмотрите колонку «Приложение». У фоновых заданий там значение «Фоновое задание».

В свойствах сеанса видно, на каком рабочем процессе он идёт, сколько времени занимает вызов и какие данные прочитаны из СУБД. По этим цифрам легко отличить задание, которое работает, от задания, которое просто ждёт.

Если консоль не открывается с ошибкой о классе COM, перерегистрируйте radmin.dll из каталога bin установленной платформы командой regsvr32 от имени администратора. Разрядность библиотеки должна совпадать с разрядностью консоли.

Тот же список можно получить утилитой rac через сервер администрирования ras:

rac cluster list
rac infobase summary list --cluster=<uuid_кластера>
rac session list --cluster=<uuid_кластера> --infobase=<uuid_базы>

В выводе session list у сеансов фоновых заданий в поле app-id стоит BackgroundJob. Полный набор параметров смотрите в справке rac help session.

Журнал регистрации

Журнал хранит историю запусков, которой уже нет в оперативном списке. Откройте Администрирование → Обслуживание → Журнал регистрации и поставьте отбор по событиям группы «Фоновое задание»:

  • ▶️ «Запуск»;
  • ✅ «Успешное завершение»;
  • ❌ «Ошибка выполнения»;
  • ⛔ «Отмена».

Комментарий у события ошибки содержит текст исключения. Если одно и то же задание падает каждый день в одно время, причина почти всегда внешняя: недоступен сайт, истёк сертификат, закончилось место на диске.

Технологический журнал

Когда журнал регистрации показывает только «Ошибка выполнения» без подробностей, включают технологический журнал. Его настраивают файлом logcfg.xml в каталоге conf платформы на сервере. Для разбора фоновых заданий обычно хватает событий EXCP (исключения) и CALL (вызовы с длительностью). Отбор по свойству t:applicationName со значением BackgroundJob оставит в логе только фоновые сеансы.

Технологический журнал быстро растёт: на загруженном сервере — гигабайты за часы. Включайте его на время разбора, ограничивайте срок хранения в настройке и удаляйте logcfg.xml после диагностики.

Регламентные задания: расписание и включение

Большинство фоновых заданий порождают регламентные. Поэтому лечить «лишний фон» надо со стороны расписания.

На вкладке Регламентные задания откройте нужное задание двойным щелчком. В карточке:

  • флажок «Включено» — задание запускается по расписанию или нет;
  • ссылка расписания — дни недели, время начала и окончания, интервал повтора в секундах;
  • количество повторов при аварийном завершении и пауза между ними;
  • пользователь, от имени которого выполняется задание (в клиент-серверной базе).

Кнопка Выполнить сейчас запускает задание вне расписания. Результат появится на вкладке фоновых заданий через несколько секунд.

Что обычно стоит перенастроить

ЗаданиеТипичная проблемаЧто поменять
Обновление полнотекстового индексаГрузит сервер днёмЗапуск ночью, раз в сутки
Слияние индекса полнотекстового поискаДолго работает на большой базеНочью, когда нет пользователей
Загрузка курсов валютПадает без интернета на сервереПроверить доступ сервера в сеть или отключить, если валюты не нужны
Обмены данными и ЭДОЗапуски накладываются друг на другаУвеличить интервал повтора

Не отключайте задания, назначение которых вам неизвестно. Например, остановка обработки данных для перехода на новую версию оставляет базу в неполном состоянии после обновления.

Регламентные задания в файловой базе

В файловом варианте нет сервера, который запускал бы задания сам. Их выполняет один из запущенных клиентов. Если базу никто не открыл — расписание стоит.

Для этого случая платформа поддерживает параметр командной строки /AllowExecuteScheduledJobs:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /AllowExecuteScheduledJobs -Force

С ключом -Force клиентский сеанс выполняет регламентные задания, с ключом -Off — не выполняет. Удобно запускать отдельный «служебный» сеанс на одном компьютере и запретить выполнение заданий у остальных.

Как прервать зависшее фоновое задание

Зависшим считают задание, которое висит в состоянии «Активно» много дольше обычного. Действуйте от мягкого способа к жёсткому.

Способ 1. Отмена из списка

  1. Откройте вкладку Фоновые задания.
  2. Выделите строку в состоянии «Активно».
  3. Нажмите команду отмены в командной панели формы.

Платформа ставит заданию признак отмены. Состояние станет «Отменено» не мгновенно: если задание сейчас ждёт ответа СУБД на тяжёлый запрос, отмена сработает, когда запрос вернётся.

Способ 2. Завершение сеанса в консоли кластера

Если отмена не сработала за разумное время, найдите сеанс фонового задания в консоли (Сеансы, колонка «Приложение» = «Фоновое задание») и удалите его через контекстное меню. Тот же результат даёт rac session terminate с идентификатором сеанса.

Завершение сеанса обрывает транзакцию. Все изменения, которые задание успело сделать в текущей транзакции, откатятся. Пользователей это не затронет, но, например, обмен придётся запустить заново.

Способ 3. Блокировка регламентных заданий базы

Когда задание запускается снова и снова и тут же зависает, временно запретите все регламентные задания базы. В консоли откройте свойства информационной базы и включите флажок Блокировка регламентных заданий включена. Новые запуски по расписанию прекратятся, ручная работа пользователей продолжится.

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

Перезапуск рабочих процессов

Крайняя мера — перезапуск рабочего процесса rphost или службы сервера 1С. При этом оборвутся сеансы всех пользователей на этом процессе, несохранённые документы пропадут. Делайте это вне рабочего времени и после предупреждения пользователей.

Диагностика: выберите симптом

Профилактика: чтобы фоновые задания не мешали работе

Проблемы с фоном почти всегда видны заранее. Достаточно раз в неделю смотреть на несколько вещей.

  • 📋 Аварийные завершения за неделю. Отбор по состоянию «Завершено аварийно» — одна минута. Повторяющаяся ошибка сама не исчезнет.
  • 🌙 Тяжёлые задания — на ночь. Полнотекстовый индекс, пересчёт итогов, архивирование, крупные обмены не должны пересекаться с рабочим днём.
  • 👤 Пользователь задания. Если регламентное задание выполняется от имени сотрудника, который уволился и был отключён, задание начнёт падать. Назначайте служебного пользователя.
  • 🧹 Ненужные задания — выключить. Загрузка курсов, классификаторов и новостей, которыми никто не пользуется, впустую нагружает сервер.
  • 💾 Свободное место. Задания, которые пишут файлы (выгрузки, индексы, журналы), первыми падают при заполненном диске.
  • 🔁 Интервалы обменов. Запуск каждые 60 секунд при обмене, который длится две минуты, создаёт очередь.

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

Получить список заданий из кода

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

Отбор = Новый Структура("Состояние", СостояниеФоновогоЗадания.Активно);
Активные = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Для Каждого Задание Из Активные Цикл
    Сообщить(Задание.Наименование + " | начало: " + Задание.Начало + " | метод: " + Задание.ИмяМетода);
КонецЦикла;

Код выполняется на сервере и требует административных прав. У найденного объекта есть метод Отменить() — тот же эффект, что и у команды отмены в форме.

Частые вопросы

Почему в списке фоновых заданий видны не все задания других баз?
Обработка в базе показывает задания только этой информационной базы. Чтобы увидеть фон всех баз сервера, используйте консоль кластера: сеансы с приложением «Фоновое задание» в каждой базе.
Можно ли посмотреть фоновые задания в файловой базе?
Да, через ту же обработку Регламентные и фоновые задания. Консоли кластера у файловой базы нет, историю смотрите в журнале регистрации.
Расходуют ли фоновые задания клиентские лицензии?
Нет. Сеансы фоновых заданий не занимают клиентских лицензий, лицензируется только сам сервер 1С.
Что значит пустая колонка «Регламентное задание»?
Задание запущено не по расписанию, а кодом конфигурации по действию пользователя: формирование тяжёлого отчёта, групповое перепроведение, загрузка файла.
Почему отменённое задание снова появилось через несколько минут?
Отмена останавливает только текущий запуск. Если регламентное задание включено, расписание запустит его снова. Чтобы оно не стартовало, снимите флажок «Включено» в его карточке.