рубрики: Регламентные задания | Дата: 19 ноября, 2016
Как правило фоновые задания в 1C:Предприятии запускаются из-под регламентного.
То есть при старте регламентное задание порождает фоновое. Но в случае необходимости
мы можем запустить фоновое задание и программно.
При этом оно может использовать любые методы и свойства доступные на сервере, т.к. и выполняется оно на сервере.
По сути само фоновое задание никаких действий не производит. Оно лишь запускает
на выполнение процедуру из общего модуля. Если в процедуре используются параметры,
их также можно передавать в момент запуска фонового задания.
Рассмотрим простейший пример. Создадим обработку, которая будет запускать фоновое
задание, которое в свою очередь будет делать запись в журнале регистрации.
Поскольку
для фонового задания нам нужна процедура общего модуля, создадим этот общий модуль
с возможностью выполнения его процедур на сервере.
Создадим в этом общем модуле процедуру, которая будет делать запись в журнал
регистрации
Процедура ЗаписьВЖурналРегистрации(пар_ИмяСобытия, пар_Комментарий) Экспорт
ЗаписьЖурналаРегистрации(пар_ИмяСобытия,,,, пар_Комментарий);
КонецПроцедуры
Как видим в процедуре есть параметры. Значит фоновое задание должно их будет каким-то
образом в процедуру передать.
Теперь создадим обработку с помощью которой будем запускать фоновое задание.
Сделаем ее на управляемой форме, но для обычных форм принципиальной разницы не будет,
методы используются те же самые. Создаем простейшую форму с одной командой:
В модуле формы пишем следующий код:
&НаСервере
Процедура ЗаписьЖРНаСервере()
МассивПараметров = Новый Массив;
МассивПараметров.Добавить("Событие. Фоновое задание отработало успешно");
МассивПараметров.Добавить("Комментарий. Проверка работы фонового задания");
ФоновыеЗадания.Выполнить("professia1c_ru_РегламентныеЗадания.ЗаписьВЖурналРегистрации", МассивПараметров);
КонецПроцедуры
&НаКлиенте
Процедура ЗаписьЖР(Команда)
ЗаписьЖРНаСервере();
КонецПроцедуры
Запускается фоновое задание при помощи метода Выполнить()
менеджера фоновых заданий.
В качестве первого параметра этого метода указывается
имя общего модуля и имя процедуры, которая будет выполняться, тип — строка.
Второй параметр — это массив со значениями парметров для вызываемой процедуры.
Порядок следования элементов в массиве должен совпадать с порядком параметров в
процедуре.
Могут еще указываться Ключ и Наименование фонового задания.
А теперь протестируем работу обработки. Откроем ее в режиме 1С:Предприятия и
запустим на выполнение. Далее открываем журнал регистрации и видим, что задание
отработало успешно и сделало в журнале соответствующую запись.
Добавить комментарий