Объект 1С "Регламентные задания"

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

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

Фоновое задание 1С:

  1. выполняется под пользователем Windows, под которым работает процесс программы сервера 1С.
  2. можно создавать на языке 1С произвольно без регламентного задания (для параллельных вычислений на сервере).

ВАЖНО! Фоновые задания исполняются на сервере.

Отличие регламентного задания от подписки на событие:

  • позволяет выполнять обработчик не при наступлении события (как это делает подписка на событие), а по расписанию.

Механизм регламентных и фоновых заданий работает:

  • автоматически - в клиент-серверном режиме работы (благодаря функционалу СУБД);
  • интерактивно - при использовании файловой БД, выполнением команды ВыполнитьОбработкуЗаданий() из сеанса в режиме 1С:Предприятие.

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

  1. Экземпляр регламентного задания может быть создан программно. Если регламентное задание предопределенное (в свойствах стоит флаг "Предопределенное"), то задание будет создано в единственном экземпляре с указанным в конфигураторе расписанием. Экземпляры НЕ предопределенных заданий появляются по расписанию, заданному в режиме Предприятие программно.
  2. Одновременно выполняться может любое количество регламентных заданий, но не будут выполняться два задания (во избежание коллизий):
    • с одинаковым ключом (ключ - свойство регламентного задания, которое позволяет сгруппировать несколько однотипных заданий);
    • с одинаковым именем метода;
    • связанные с одним и тем же объектом метаданных.
  3. В качестве метода регламентного задания может использоваться процедура, у которой может быть любое количество параметров. Число параметров метода регламентного задания соответствует числу параметров самого регламентного задания.
  4. Для создания регламентного задания пользователь должен обладать правами администратора.
  5. Если регламентное задание определено в конфигураторе (в соответствующем объекте конфигурации) как предопределенное, то предопределенный экземпляр регламентного задания нельзя пометить на удаление и удалить (но можно изменять, также они всегда будут доступны в списке шаблонов регламентных заданий).
  6. Если в качестве метода регламентного задания используется функция, то возвращаемое функцией значение игнорируется.
  7. Для обеспечения работы регламентных и фоновых заданий как в файловом, так и в клиент-серверном вариантах нет необходимости в запуске экземпляра 1С:Предприятие. 
    Замечание

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

    [свернуть]
  8. Фоновые задания позволяют выполнять процедуру асинхронно.
  9. Завершившиеся фоновые задания являются сеансовыми объектами, хранятся некоторое время (в информационной базе не сохраняются). Фоновое задание - это объект встроенного языка, который существует только во время сеанса.

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

Настройка регламентного задания осуществляется в палитре свойств данного объекта конфигурации.

Рисунок палитры свойств объекта 1С "Регламентные задания"

палитры свойств объекта 1С "Регламентные задания"

[свернуть]

Палитра свойств объекта "Регламентные задания":

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

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

Блокировка отключается:

Для управления фоновыми заданиями можно использовать обработку с диска ИТС "Консоль заданий", которая позволяет:

  • выполнять мониторинг работы регламентных и фоновых заданий;
  • удалять и создавать новые фоновые задания средствами встроенного языка;
  • временно отключать регламентные задания (?).

Особенности настройки регламентных заданий 1С:

  1. Задачи выполняются автоматически – их необходимо проверять (мониторить).

    Необходимо проверить, что задача выполняется и может быть выполнена как регламентное задание 1С.

    [свернуть]
  2. Задачи выполняются в модуле на сервере.

    В  серверном модуле могут быть недоступны многие вещи, которые доступны на клиенте. Например, не все документы могут быть проведены только на сервере, так как в их алгоритме может быть предусмотрено, что проведение запускается пользователем вручную и могут быть использованы несерверные функции. Если модуль не может быть выполнен на сервере – задание не будет выполняться в принципе. 

    [свернуть]
  3. Задачи выполняются под другим пользователем Windows, под другими правами.

    Если задача имеет дело с чем-то вне базы 1С, то важное значение приобретают права пользователя Windows, под которым выполняется задание.Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.

    [свернуть]

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

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

Инициализация регламентного задания происходит:

  1. в общем случае - при запуске метода ВыполнитьОбработкуЗаданий();
  2. для конкретного пользователя - при запуске метода ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) (работает на клиенте).

Где:

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

Пример:

Настройка регламентных и фоновых заданий для их автоматического выполнения в "1С:Бухгалтерия 8" (ред. 3.0)

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.