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

В этой статье вы найдете 7 рабочих методов поиска фоновых заданий — от простых (через Монитор задач) до продвинутых (анализ логов кластера). Мы разберем, как найти задачи в разных конфигурациях (1С:ERP, 1С:УТ, 1С:Бухгалтерия), включая случаи, когда задание "зависло" или не отображается в списке. Все инструкции актуальны для платформы 1С:Предприятие 8.3.20+ и серверных версий Linux/Windows.

Особое внимание уделим скрытым заданиям, запущенным через BackgroundJobs или ПланыОбмена — их часто упускают из виду, хотя они могут потреблять до 30% ресурсов сервера. Если вы администратор или разработчик, этот гайд поможет вам выявить и контролировать все фоновые процессы в вашей базе.

1. Поиск через "Монитор задач" (стандартный метод)

Самый очевидный способ — использовать встроенный Монитор задач, доступный в клиент-серверном варианте . Он показывает активные сеансы, включая фоновые задания, но имеет ограничения: не отображает задачи, запущенные от имени системных пользователей (например, Администратор или РегламентноеЗадание).

Чтобы открыть Монитор задач:

  • 🖥️ В 1С:Предприятии перейдите в меню Администрирование → Монитор задач (для Управление торговлей 11 путь может отличаться: Сервис → Администрирование → Монитор задач).
  • 🔍 В списке сеансов ищите задачи со статусом Фоновое выполнение или BackgroundJob.
  • ⚙️ Для детальной информации дважды кликните по задаче — откроется окно с параметрами (имя метода, время старта, пользователь).

Если Монитор задач пуст, но сервер нагружен, проверьте:

  • 📌 Настройки фильтра (возможно, скрыты системные задачи).
  • 🔄 Обновите список кнопкой Обновить — иногда задачи отображаются с задержкой до 30 секунд.
  • 🛠️ Права пользователя: у вас должны быть права Администрирование или Полные права.
💡

Если в Мониторе задач нет колонки "Тип задания", кликните правой кнопкой по заголовку таблицы и добавьте её через контекстное меню. Это поможет отличить фоновые задачи от пользовательских сеансов.

⚠️ Внимание: В 1С:Предприятие 8.3.18 и ниже Монитор задач может не показывать фоновые задания, запущенные через ПланыОбмена. Для них используйте методы из раздела 4.

2. Просмотр через "Журнал регистрации"

Если задание уже завершилось (успешно или с ошибкой), его следы останутся в Журнале регистрации. Этот метод полезен для поиска периодических задач (например, ночных выгрузок данных) или диагностики сбоев.

Как найти фоновые задания в журнале:

  1. Откройте Администрирование → Журналы регистрации.
  2. Установите фильтр по событию: выберите Фоновое задание или BackgroundJob (в зависимости от версии платформы).
  3. Для уточнения добавьте фильтры по дате и пользователю (например, РегламентноеЗадание).
  4. Экспортируйте результаты в Excel для анализа (кнопка Выгрузить).

В журнале обращайте внимание на:

  • 📝 Имя метода: например, ВыполнитьОбменДанными или ОтправитьПочту.
  • ⏱️ Длительность: задачи с временем выполнения >1 часа могут указывать на зависание.
  • Ошибки: коды 2147... часто связаны с блокировками или нехваткой памяти.
Тип события Что означает Действие
BackgroundJobStarted Задание запущено Проверьте параметры запуска (кто и когда инициализировал задачу)
BackgroundJobFinished Задание завершилось успешно Анализируйте время выполнения для оптимизации
BackgroundJobFailed Задание завершилось с ошибкой Ищите код ошибки в колонке Дополнительно
BackgroundJobTimeout Превышено время ожидания Проверьте настройки таймаута в кластере
📊 Как часто вы проверяете журнал регистрации на наличие фоновых задач?
Ежедневно
Раз в неделю
Только при сбоях
Никогда

3. Использование консоли администрирования сервера 1С

Для администраторов сервера 1С:Предприятие самый мощный инструмент — консоль администрирования (rac для Windows или ras для Linux). Она позволяет увидеть все активные процессы, включая те, что не отображаются в Мониторе задач.

Команды для поиска фоновых заданий:

# Подключение к кластеру (Windows)

rac cluster connect /Sсервер\имя_кластера /Nадминистратор /Pпароль

Просмотр активных задач

rac task list

Фильтрация по типу (фоновые задания)

rac task list | find "Background"

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

ras cluster --cluster=сервер\имя_кластера task-list --output=full

Что делать, если найдено подозрительное задание:

  • 🛑 Остановите его командой:
    rac task terminate --task-id=ИД_ЗАДАЧИ
  • 🔍 Посмотрите детали задачи:
    rac task info --task-id=ИД_ЗАДАЧИ
  • 📊 Проверите потребление ресурсов:
    rac perfomance list --task-id=ИД_ЗАДАЧИ
⚠️ Внимание: Принудительное завершение фоновых задач через rac может привести к несохраненным данным в транзакциях. Всегда сначала проверяйте, не является ли задача критичной для бизнес-процессов (например, закрытие месяца в 1С:Бухгалтерии).

Убедиться в правах администратора кластера|Подключиться к нужному кластеру (не к агенту!)|Просмотреть полный список задач без фильтров|Проверить статус задачи перед остановкой|Зафиксировать ID задачи для отчета-->

4. Поиск заданий через "Планы обмена" и "Регламентные задания"

Многие фоновые процессы в запускаются не напрямую, а через Планы обмена или Регламентные задания. Эти механизмы часто упускают из виду, хотя они могут генерировать десятки скрытых задач в день.

Как найти такие задания:

Для Планов обмена:

  1. Откройте Администрирование → Планы обмена.
  2. Выберите нужный план (например, ОбменСРозницей или ОбменСБухгалтерией).
  3. Посмотрите вкладку История обменов — здесь отображаются все фоновые выгрузки/загрузки.
  4. Для активных обменов проверьте статус Выполняется.

Для Регламентных заданий:

  1. Перейдите в Администрирование → Регламентные задания.
  2. Отсортируйте список по колонке Состояние — ищите значения Выполняется или Ожидает.
  3. Для каждого задания проверьте Расписание — возможно, оно запускается слишком часто.

Особенности:

  • 🔄 Регламентные задания могут запускать цепочки фоновых задач. Например, одно задание ЗакрытиеМесяца может инициировать 10-15 дочерних процессов.
  • 📅 В 1С:ERP некоторые регламентные задания скрыты — их можно увидеть только через Все функции (кнопка в правом верхнем углу).
Как отключить регламентное задание без удаления?

Вместо удаления задания (что может нарушить логику конфигурации), установите ему статус Отключено через контекстное меню. Это сохранит настройки, но прекратит автоматический запуск. В 1С:УТ 11.5 для этого также можно использовать обработку УправлениеРегламентнымиЗаданиями.epf (доступна на Инфостарте).

5. Анализ логов кластера 1С

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

Где искать логи:

  • 📁 Windows: C:\Program Files\1cv8\srvinfo\reg_1541\ (путь может отличаться в зависимости от версии).
  • 🐧 Linux: /var/log/1C/1cv83/ или /opt/1C/v8.3/x86_64/log/.

Как искать фоновые задания в логах:

  1. Откройте последний лог-файл (обычно называется 1cv83_YYYYMMDD.log).
  2. Ищите строки с ключевыми словами:
    grep -i "backgroundjob\|фоновое\|reglament" 1cv83_*.log
  3. Обращайте внимание на блоки с:
    {BackgroundJob}
    

    {JobID: 12345}

    {Method: ВыполнитьОбновлениеЦен}

Пример анализа лога:

[2026-05-15 14:30:12.123] {BackgroundJob} Start: JobID=789, Method=ОбменСБанком.ВыгрузитьПлатежки, User=РегламентноеЗадание

[2026-05-15 14:32:45.678] {BackgroundJob} Error: JobID=789, Code=2147220991 (Timeout), Details=Превышено время ожидания ответа от банка

В этом примере видно, что задание ОбменСБанком.ВыгрузитьПлатежки завершилось с таймаутом. Такие ошибки часто остаются незамеченными в стандартных отчетах.

⚠️ Внимание: Логи кластера ротируются (удалются или архивируются) согласно настройкам в central-server.cfg. По умолчанию хранятся логи за последние 7 дней. Для долгосрочного анализа настройте экспорт логов в внешнюю систему (например, ELK Stack или Graylog).

6. Поиск через SQL-запросы (для опытных пользователей)

Если у вас есть доступ к SQL-серверу, на котором работает база , можно найти фоновые задания напрямую в системных таблицах. Этот метод подходит для Microsoft SQL Server и PostgreSQL.

Пример запроса для MS SQL:

SELECT

s.session_id,

s.login_name,

r.command,

r.start_time,

r.status,

t.text AS [SQL_Text]

FROM

sys.dm_exec_sessions s

INNER JOIN

sys.dm_exec_requests r ON s.session_id = r.session_id

CROSS APPLY

sys.dm_exec_sql_text(r.sql_handle) t

WHERE

t.text LIKE '%BackgroundJob%'

OR t.text LIKE '%фоновое%'

OR s.program_name LIKE '%1C:Enterprise%';

Для PostgreSQL:

SELECT

pid AS session_id,

usename AS login_name,

query AS command,

query_start AS start_time,

state AS status

FROM

pg_stat_activity

WHERE

query ILIKE '%backgroundjob%'

OR query ILIKE '%фоновое%'

OR application_name LIKE '%1C:Enterprise%';

Что можно узнать из SQL:

  • 🕒 Точное время старта задания.
  • 📊 Потребление ресурсов (CPU, блокировки).
  • 🔗 Связанные транзакции (если задание заблокировало таблицы).

Осторожно: не прерывайте сессии через KILL без анализа! Некоторые фоновые задания (например, ОбновлениеИБ) могут оставить базу в несогласованном состоянии.

💡

SQL-запросы показывают все активные процессы, включая те, что не отображаются в интерфейсе 1С. Это единственный способ найти "потерянные" задания, запущенные через внешние скрипты или COM-соединения.

7. Использование внешних утилит (Process Explorer, Task Manager)

Если фоновое задание "зависло" и не реагирует на команды из , его можно найти через системные утилиты ОС. Это актуально для Windows-серверов, где работает как служба.

Инструкция для Windows:

  1. Откройте Process Explorer (скачать можно с сайта Microsoft).
  2. Найдите процессы ragent.exe или rmngr.exe — они отвечают за работу кластера .
  3. Раскройте дерево процессов и ищите дочерние задачи с именами, содержащими:
    bgjob_
    

    фоновое_

    1cv8_

  4. Для анализа кликните правой кнопкой по процессу и выберите Properties → Threads. Здесь видно, какой метод выполняется (например, ВыполнитьОбновлениеЦен).

Для Linux используйте:

ps aux | grep -i "1cv8|background"

top -p $(pgrep -f "1cv8")

Преимущества метода:

  • ⚡ Видно реальное потребление CPU/памяти (в отличие от Монитора задач 1С).
  • 🔗 Можно убить процесс принудительно, если он завис (kill -9 PID).
⚠️ Внимание: Принудительное завершение процессов ragent.exe или rmngr.exe приведет к остановке всего кластера 1С. Убивайте только дочерние процессы (1cv8.exe или bgjob_*).

FAQ: Частые вопросы по фоновым заданиям в 1С

Как найти фоновое задание, если оно не отображается в Мониторе задач?

Если задание не видно в стандартном интерфейсе, проверьте:

  1. Журнал регистрации с фильтром по событиям BackgroundJob.
  2. Консоль администрирования (rac task list).
  3. Логи кластера на сервере (ищите строки с {BackgroundJob}).
  4. SQL-запросы к системным таблицам (для опытных пользователей).

В 90% случаев "невидимые" задания запущены через Планы обмена или Регламентные задания — проверьте их в первую очередь.

Можно ли отключить все фоновые задания сразу?

Да, но это крайне не рекомендуется для рабочих баз. Способы:

  • Через Регламентные задания: отключите все задачи вручную.
  • Через консоль:
    rac task terminate-all --force

    (требуются права администратора кластера).

  • Через SQL: обновите статус задач в таблице v8jobs (опасно!).

⚠️ После массового отключения проверьте:

  • Работу Планов обмена (может прекратиться синхронизация с другими базами).
  • Автоматические отчеты (например, Зарплатные ведомости в 1С:ЗУП).
  • Фоновое резервное копирование (если используется).
Как узнать, какое фоновое задание грузит сервер?

Последовательность действий:

  1. Откройте Диспетчер задач Windows или htop в Linux.
  2. Найдите процесс 1cv8.exe или ragent.exe с высоким потреблением CPU/памяти.
  3. Запомните его PID (идентификатор процесса).
  4. В выполните запрос:
    SELECT * FROM v8jobs WHERE osprocessid = &PID

    (где &PID — идентификатор из п.3).

  5. Если запрос не вернул результатов, проверьте логи кластера на наличие JobID, связанного с этим PID.

Типичные "прожорливые" задания:

  • ОбновлениеИБ (при большом объеме данных).
  • ПолныйПересчетИтогов1С:УТ или 1С:ERP).
  • ВыгрузкаДанныхВГИСГМП (для госорганов).
Что делать, если фоновое задание зависло?

Алгоритм действий:

  1. Диагностика:
    • Проверьте статус в Мониторе задач.
    • Посмотрите логи кластера на ошибки (timeout, deadlock).
  2. Мягкая остановка:
    • В Мониторе задач нажмите Завершить задачу.
    • Через консоль:
      rac task terminate --task-id=ИД_ЗАДАЧИ
  • Принудительная остановка (если мягкая не сработала):
    • Найдите PID процесса через Process Explorer.
    • Убейте процесс:
      taskkill /F /PID ИД_ПРОЦЕССА

      или в Linux:

      kill -9 ИД_ПРОЦЕССА
    • Восстановление:
      • Проверьте целостность базы (Тестирование и исправление).
      • Перезапустите службу 1С:Предприятие.

    Если задание зависает регулярно:

    • Проверьте таймауты в настройках кластера.
    • Оптимизируйте код метода, который выполняется в фоне.
    • Разбейте задачу на более мелкие части (например, вместо обновления всех цен за раз — по 1000 номенклатур).
  • Как настроить уведомления о долгих фоновых заданиях?

    Варианты настройки:

    1. Через регламентные задания:
      • Создайте задание, которое будет проверять длительность выполнения других задач.
      • Используйте запрос:
        SELECT * FROM v8jobs WHERE duration > 3600 AND status = 'Running'

        (где 3600 — лимит в секундах).

      • Настройте отправку письма через Планы обмена или SMTP.
  • Через внешние скрипты:
    • Напишите PowerShell-скрипт (Windows) или Bash-скрипт (Linux), который парсит логи кластера.
    • Пример для Windows:
      $log = Get-Content "C:\Program Files\1cv8\srvinfo\reg_1541\1cv83_*.log" | Select-String "BackgroundJob.*duration"
      

      if ($log -match "duration.*[0-9]{5,}") { Send-MailMessage -To "admin@company.ru" -Subject "Долгое фоновое задание в 1С" -Body $log }

    • Через Zabbix или Prometheus:
      • Настройте мониторинг метрик кластера 1С (например, 1c:job:duration).
      • Создайте триггер на значение > 1 часа.

    Готовые решения:

    • Обработка МониторингФоновыхЗаданий.epf (доступна на Инфостарте).
    • Модуль 1С:АПМ (Автоматизированное рабочее место администратора).