К статье
Практический материал

Администрирование · 12 мин

Как снять фоновое задание в 1С 8.3 Бухгалтерия

Как найти и снять зависшее фоновое задание в 1С 8.3 Бухгалтерия через консоль заданий, администрирование сервера и конфигуратор. Разбор ошибок и рисков.

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

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

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

Как понять, что фоновое задание зависло

Типичные признаки проблемного фонового задания: документы не проводятся с ошибкой «Конфликт блокировок при выполнении транзакции», обмен данными висит в статусе «Выполняется» часами, база заметно тормозит, а в журнале регистрации видно, что задание стартовало давно и не завершилось. В клиент-серверном варианте на сервере может расти нагрузка на процесс rphost.

Проверить, какие задания выполняются прямо сейчас, можно в разделе «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания» (в некоторых версиях — «Регламентные операции»). В списке видно состояние каждого задания: «Выполняется», «Завершено», «Ошибка». Если задание висит в состоянии «Выполняется» значительно дольше обычного — это повод вмешаться.

Задание выполняется 5–15 минутВозможно, это норма

Сравните с обычной длительностью этого задания: тяжёлые обмены и закрытие месяца могут идти долго

Ошибки блокировок у пользователейЗадание держит блокировки

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

Состояние «Ошибка»Задание уже завершилось аварийно

Снимать не нужно — смотрите описание ошибки в журнале регистрации

Рост нагрузки на rphostЗадание активно потребляет ресурсы

Найдите сеанс задания в консоли кластера и оцените, что оно делает

Способ 1. Штатная отмена через консоль заданий

Это самый безопасный метод, и начинать следует именно с него. Откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Найдите в списке зависшее задание — оно будет в состоянии «Выполняется». Выделите его и нажмите кнопку «Отменить выполнение» (в некоторых версиях доступна через меню «Ещё»).

Штатная отмена посылает заданию сигнал прерывания, и код платформы или конфигурации завершает работу корректно — с откатом транзакции. Однако отмена срабатывает не мгновенно: если задание находится внутри длительного запроса к СУБД или ожидает блокировку, оно может не реагировать несколько минут. Подождите 3–5 минут и обновите список.

Если задание не отменяется штатно, переходите к завершению сеанса. Но сначала зафиксируйте, что это за задание и когда оно запущено — эта информация пригодится для анализа причины зависания.

Порядок штатной отмены
  1. 1
    Откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания»
  2. 2
    Найдите задание в состоянии «Выполняется» и выделите его
  3. 3
    Нажмите «Отменить выполнение» и подтвердите действие
  4. 4
    Подождите 3–5 минут и обновите список
  5. 5
    Проверьте, что состояние сменилось на «Отменено» или задание исчезло из выполняющихся

Способ 2. Завершение сеанса через список активных пользователей

В файловом варианте работы фоновые задания выполняются в отдельных сеансах, которые видны в общем списке. Откройте «Администрирование» → «Обслуживание» → «Активные пользователи». В списке найдите сеанс с типом «Фоновое задание» — в колонке «Приложение» или «Режим» будет указано соответствующее значение.

Выделите нужный сеанс и нажмите «Завершить сеанс». Платформа принудительно разорвёт соединение, и задание будет снято. Учтите: если задание в этот момент записывало данные без транзакционной логики, часть изменений может остаться в базе. После такого завершения имеет смысл проверить целостность данных, над которыми работало задание.

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

Способ 3. Консоль кластера серверов 1С

В клиент-серверном варианте полный контроль даёт консоль администрирования серверов 1С (оснастка «1С:Предприятие 8.3 Сервер»). Откройте консоль, разверните нужный кластер, перейдите в ветку «Сеансы». Найдите сеанс с приложением «Фоновое задание» — в колонке «Информационная база» должна быть ваша база, а в описании часто видно наименование метода задания.

Выделите сеанс и выберите в контекстном меню «Удалить» или нажмите Delete. Кластер завершит сеанс, и фоновое задание будет снято. Альтернатива — ветка «Рабочие процессы»: там можно увидеть, какой процесс rphost обслуживает сеанс, и оценить потребление памяти и процессора.

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

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

Если задание зависает регулярно, снятие текущего экземпляра не решит проблему — через расписание оно запустится снова. Чтобы остановить цикл, откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания», найдите нужное регламентное задание и снимите флажок «Используется» (или «Включено»). С этого момента платформа не будет запускать его по расписанию.

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

Также полезно скорректировать расписание: если тяжёлое задание запускается каждые 10 минут и каждый раз зависает, разумнее перевести запуск на ночное время и увеличить интервал, пока идёт разбор причины.

Сравнение способов снятия задания

Отмена в консоли заданий

Самый безопасный, с корректным откатом. Не срабатывает, если задание зависло на запросе к СУБД

Завершение сеанса в списке активных пользователей

Подходит для файловой базы, действует быстро. Риск прерывания записи данных

Удаление сеанса в консоли кластера

Для клиент-серверного варианта, точечное воздействие. Требует прав администратора кластера

Перезапуск службы сервера 1С

Гарантированно снимает всё, но прерывает работу всех пользователей. Только как крайняя мера

Что делать после снятия задания

После того как задание снято, откройте журнал регистрации («Администрирование» → «Обслуживание» → «Журнал регистрации») и отфильтруйте события по фоновым заданиям за период зависания. Там обычно видно, на каком этапе задание остановилось и была ли ошибка — например, превышение времени ожидания блокировки или обрыв соединения с внешним сервисом.

Если задание выполняло обмен данными, проверьте состояние обмена: не осталось ли незавершённых транзакций обмена, совпадают ли номера отправленных и принятых сообщений. При перепроведении документов — убедитесь, что последовательность документов не нарушена, при необходимости выполните восстановление последовательности штатными средствами.

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

Контрольные точки

Как проверить результат

Список регламентных и фоновых заданий
Норма

Зависшего задания нет в состоянии «Выполняется»

Тревожный признак

Задание снова появилось и висит — отключите его и ищите причину

Работа пользователей
Норма

Документы проводятся без ошибок блокировок

Тревожный признак

Ошибки блокировок продолжаются — проверьте другие сеансы и процессы

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

Есть запись о завершении или отмене задания

Тревожный признак

Серия ошибок подряд — задание перезапускается и падает

Данные, с которыми работало задание
Норма

Обмены и итоги в согласованном состоянии

Тревожный признак

Расхождения после обмена — требуется повторная выгрузка или восстановление

Типичные ошибки при снятии фоновых заданий

Самая частая ошибка — завершение не того сеанса. В списке активных пользователей и в консоли кластера одновременно может быть несколько фоновых заданий, и по невнимательности снимают работающее штатно задание обмена вместо зависшего. Всегда сверяйте наименование задания и время начала сеанса.

Вторая ошибка — перезапуск сервера 1С «для надёжности» в разгар рабочего дня. Это обрывает сеансы всех пользователей, несохранённые данные теряются, а введённые документы могут остаться незаписанными. Перезапуск службы — последний вариант, когда точечные методы исчерпаны.

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

Типичные ошибки
01
Завершение чужого или штатно работающего сеанса вместо зависшего — сбой в работающем обмене
02
Перезапуск сервера в рабочее время — потеря несохранённых данных пользователей
03
Снятие задания без анализа причины — зависание повторяется при следующем запуске
04
Отключение регламентного задания навсегда — перестают загружаться курсы валют и выполняться обмены
05
Снятие задания во время записи данных без резервной копии — риск рассинхронизации данных
Итог

Что важно запомнить

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

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

Чем фоновое задание отличается от регламентного?

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

Задание в состоянии «Выполняется», но кнопка отмены не помогает. Что делать?

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

Опасно ли снимать фоновое задание обмена данными?

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

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

Доступа к консоли кластера и серверу у вас нет, поэтому используйте только внутренние средства: «Администрирование» → «Регламентные и фоновые задания» → отмена выполнения, либо завершение сеанса в списке активных пользователей, если сервис даёт такую возможность. Если задание не снимается — обращайтесь в техническую поддержку облачного провайдера.

Задание снова появляется после снятия. Это нормально?

Да, если оно запускается по расписанию. Платформа стартует новый экземпляр при каждом наступлении времени расписания. Чтобы остановить цикл, отключите регламентное задание (снимите флажок «Используется») или измените его расписание, а затем разбирайтесь с причиной зависания.

Можно ли снять фоновое задание программно, из кода?

Да, встроенный язык позволяет получить список фоновых заданий методом ФоновыеЗадания.ПолучитьФоновыеЗадания() и отменить нужное методом Отменить(). Это применяется в доработках и обработках администрирования, но требует прав и аккуратности: программная отмена равнозначна штатной и также не гарантирует мгновенного завершения зависшего задания.