Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Регламентные и фоновые задания 1С 8

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

Другие объекты метаданных 1С.

Как настраиваются регламентные и фоновые задания в 1С 8?

Развернутую инструкцию на примере загрузки курсов валют Вы найдете далее.

Регламентные задания в древе метаданных

Что такое регламентные и фоновые задания в 1С

  • Регламентные задания — это специальный механизм 1С предприятия 8.3, предназначенный для выполнения определенного действия по заданному расписанию.
  • Фоновое задание — объекты, порождаемые регламентным заданием, которые непосредственно выполняет заложенное действие без участия пользователя или программиста 1С 8.2.

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

Настройка фоновых заданий в клиент-серверном режиме работы 1С

Для начала создадим новый объект метаданных — регламентное задание. Я назову свое задание «ЗагрузкаКурсовВалют». Рассмотрим палитру свойств данного объекта конфигурации:

Настройка типового задания

Получите 267 видеоуроков по 1С бесплатно:

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

И самая интересная настройка — Расписание:

Расписание выполнения задания 1С 8.3

Тут настраивается интервал запуска процедуры, указанного в поле «Имя метода». Допустим я настроил

Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД!

Сделать это можно в утилите администрирования клиент-серверного варианта либо при создания новой БД:

Блокировка регламентных заданий

Для управления фоновыми заданиями рекомендую использовать обработку с диска ИТС — «Консоль заданий«.

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

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

В файловом режиме инициализация регламентного задания происходит при запуске метода «ВыполнитьОбработкуЗаданий()».

Для определенного пользователя можно настроить запуск этого метод, используя другой метод  —

ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>).

Где:

  • Имя процедуры — имя процедуры, подключаемой в качестве обработчика ожидания. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте.
  • Интервал — период между выполнениями операций в секундах.
  • Однократно — как выполнять задание, один раз или нет.

Пример:

ПодключитьОбработчикОжидания("ЗагрузкаВалют", 3600);

Двухминутное видео, в котором показано, как настроить регламентное задание в конфигураторе 1С:

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 17 на “Регламентные и фоновые задания 1С 8
  1. Ничего не понял из этого описания! Вот мне нужно настроить запуск регламентных заданий для файловой базы: где руководство к действию? что нужно сделать?

    Ответить

  2. отрабатывает ли событие ПодключитьОбработчикОжидания в клиент серверном варианте?

    Ответить

  3. Что в файловом нужно дописать, чтобы регламентное задание работало? ВыполнитьОбработкуЗаданий() что значит инициализация?

    Ответить

  4. Обычные формы, файловый режим,8.2, самописная конф.Создали Регламентное задание(с прикрепленным к нему экспортной функцией из общего модуля), настроили расписание, в модуле обычного приложения текст:
    ПодключитьОбработчикОжидания(«ОбработкаЗаданий», 3);
    Процедура ОбработкаЗаданий()Экспорт
    ВыполнитьОбработкуЗаданий();
    КонецПроцедуры

    Ничего не запускает и не происходит… Куда копать?

    Ответить

    • Олег, не очень вас понимаю.

      Ведь функция «ПодключитьОбработчикОжидания» по сути и копирует функционал регламентного задания — по определенному регламенту запускать нужную функцию.

      Посмотрите как пользуются этой функцией в типовом функционале. Под рукой 8.2 нет 🙁

      Ответить

  5. Добрый день. Подскажите, под каким пользователем выполняются фоновые задания в 8.3?

    Ответить

    • Добрый день!

      Пользователя можно указать при запуске фонового задания. Это можно посмотреть в консолях регламентных заданий.

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

      Ответить

  6. где то нашел такую фразу » имя пользователя, от имени которого должно выполняться регламентное задание,» — т.е. можно указать от какого имени выполняется задание?

    Ответить

    • Конечно, обычно её можно узнать из параметров сеанса «ПараметрыСеанса.ТекущийПользователь» или «ИмяПользователя()». Вариантов там много.

      Ответить

      • Например, мне нужно чтобы данное конкретное задание выполнялось от имени другого пользователя (есть логин/пароль). Это возможно?

        Ответить

        • Да, запустите консоль фоновых заданий (встроена во все последние конфигурации), и в настройках конкретного регламентного задания выберите нужного пользователя.

          Ответить

  7. Добрый день. Такая ситуация. Создал в центре РИБ предопределенное регламентное задание. Указал ему расписание. Задание улетело в периферию.
    Вопрос — могу ли я централизованно изменить расписание выполнение задания на всех узлах РИБ?

    Ответить

Добавить комментарий: