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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

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

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

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

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

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

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

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

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

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

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

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

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

Где:

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

Пример:

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

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

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

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

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

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

    Ответить

    • Если вам не понятен пример:

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

      Лучше не пытаться самому это сделать 🙂

      Ответить

      • А что случиться?

        Ответить

        • Не случиТЬся, а случиТся

          Ответить

        • Будет грузить валюты каждые 3600 сек

          Ответить

          • Если в конфигурации есть «Загрузка валют», иначи ничего грузиться не будет :)))

            Ответить

            • Не иначИ, а иначЕ ))

              Ответить

              • Синтаксический контроль не правит — значит, ошибок нет.

                Ответить

                • после значит запятая не нужна.

                  Ответить

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

    Ответить

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

    Ответить

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

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

    Ответить

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

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

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

      Ответить

      • Обработчик ожидания работает на клиенте, а регламентные задания работают на сервере.

        Ответить

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

    Ответить

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

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

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

      Ответить

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

    Ответить

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

      Ответить

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

        Ответить

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

          Ответить

          • Спасибо. Попробую.

            Ответить

          • Кирилл, спасибо огромное!!!
            Помогло!

            Ответить

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

    Ответить

  8. Добрый день. Такой вопрос: в случае принудительной отмены фонового задания, в котором была начата транзакция, что произойдет с этой транзакцией и данными, которые она успела затронуть? Заранее спасибо.

    Ответить

  9. Добрый день, ситуация такая не выполняется регламентное задание «Расчет предварительной себестоимости» выходит ошибка «Регламентное задание недоступно по функциональным опциям или
    не поддерживает работу в текущем режиме работы программы.
    Выполнение прервано. Задание отключено.» Перерыла всю программу, не получается. Галочка «включить не устанавливается» 1с предприятие 8.3 УТ 11.5

    Ответить

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

Ваш адрес email не будет опубликован.