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

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

Как принудительно запустить регламентное задание в 1С

Как принудительно запустить регламентное задание в 1С: через консоль заданий, обработку, код и конфигуратор. Проверка результата, ошибки и ответы на вопросы.

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

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

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

Что нужно проверить перед принудительным запуском

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

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

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

Запуск через консоль заданий в режиме «Предприятие»

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

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

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

Если кнопка «Выполнить сейчас» недоступна

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

Запуск из кода на встроенном языке

Когда консоль недоступна или запуск нужно автоматизировать (например, из внешней обработки или после определённого события), используется программный способ. Метод РегламентныеЗадания.ВыполнитьРегламентноеЗадание() запускает задание синхронно — код дождётся завершения выполнения.

bsl
Задание = РегламентныеЗадания.НайтиПредопределенное("ОбновлениеКурсовВалют");
Если Задание <> Неопределено Тогда
    РегламентныеЗадания.ВыполнитьРегламентноеЗадание(Задание);
КонецЕсли;

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

Программный запуск удобен для диагностики: можно обернуть вызов в попытку-исключение и вывести текст ошибки сразу в сообщение, не открывая журнал регистрации. Это особенно полезно при отладке заданий, которые «молча» не работают по расписанию.

Запуск через конфигуратор и внешние инструменты

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

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

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

Особенности файлового и клиент-серверного режимов

Сравнение режимов работы

Файловая база

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

Клиент-серверная база

Задания выполняет сервер 1С в отдельных фоновых сеансах независимо от пользователей. Принудительный запуск создаёт фоновое задание на сервере; интерфейсные вызовы (Предупреждение, ОткрытьФорму) в коде задания недопустимы.

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

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

Как проверить, что задание отработало правильно

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

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

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

Состояние в консоли заданий
Норма

Задание завершено, указано время окончания

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

Состояние «Выполняется» не меняется длительное время — возможно зависание

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

Есть событие о выполнении без уровня «Ошибка»

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

Записи с уровнем «Ошибка» по фоновому заданию

Прикладной результат
Норма

Данные обновились: курсы валют актуальны, обмен выполнен, документы обработаны

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

Задание завершилось, но данные не изменились — проверяйте логику метода и права

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

Типичные ошибки и их причины

Типичные ошибки
01
Запуск задания, которое уже выполняется — приводит к конфликтам блокировок и дублированию данных
02
Забытый флажок «Использование» — задание отключено, и принудительный запуск ничего не выполняет
03
Ожидание результата в файловой базе при закрытых сеансах — плановые задания не работают, хотя принудительный запуск прошёл успешно
04
Использование интерфейсных методов (Предупреждение, Вопрос) в коде задания — на сервере они вызывают ошибку выполнения
05
Отладка сразу на продуктивной базе — ошибочный код задания может испортить данные; сначала проверяйте на копии

Ещё одна распространённая ситуация — задание запускается, но «падает» с ошибкой прав доступа. В клиент-серверном режиме фоновое задание выполняется без интерактивного пользователя, и если код обращается к объектам с разграничением прав, проверьте, что используется привилегированный режим там, где это оправдано, или что права настроены корректно.

Если задание зависает, не спешите перезапускать его несколько раз подряд — это усугубит проблему. Сначала найдите сеанс фонового задания в консоли кластера (для клиент-серверной базы) или завершите свой сеанс (для файловой), разберитесь с причиной зависания и только потом запускайте снова.

Итог

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

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

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

Изменится ли расписание задания после принудительного запуска?

Нет. Ручной запуск создаёт разовое фоновое задание, связанное с регламентным, а расписание остаётся прежним. Следующий плановый запуск произойдёт в своё обычное время независимо от того, когда вы запускали задание вручную.

Почему кнопка «Выполнить сейчас» неактивна?

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

Можно ли запустить регламентное задание по расписанию чаще, чем раз в минуту?

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

Задание выполнилось без ошибок, но данные не изменились. Что делать?

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

Как остановить зависшее регламентное задание?

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

Опасно ли запускать задание вручную в рабочее время?

Зависит от самого задания. Чтение данных и формирование отчётов обычно безопасны, а массовая запись, обмен данными, пересчёт итогов и групповое проведение могут вызвать блокировки и замедлить работу пользователей. Ресурсоёмкие задания лучше запускать в период минимальной нагрузки или предварительно проверять на копии базы.