Закажите бесплатный расчет стоимости вашей задачи по 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С:

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

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

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

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

    Ответить

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

    Ответить

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

    Ответить

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

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

    Ответить

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

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

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

      Ответить

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

    Ответить

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

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

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

      Ответить

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

    Ответить

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

      Ответить

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

        Ответить

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

          Ответить

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*