Разница между задачами и функциями. Регламентные и фоновые задания

Для Андроид 10.05.2019
Для Андроид

Создаем регламентное задание

Создадим регламентное задание «Выполнение обработки».

Отключим использование регламентного задания, чтобы при обновлении конфигурации оно автоматом не запускалось.

Назначим процедуру, которая будет срабатывать при запуске регламентного задания: МодульРегламентныхЗаданий.РегламентноеЗаданиеВыполнениеОбработки .

Сама процедура имеет вид:

Процедура РегламентноеЗаданиеВыполнениеОбработки(Ключ) Экспорт

ПараметрыРегламентныхЗаданий.ВыполнитьОбработкуСПараметрами(Ключ);

КонецПроцедуры

Создаем справочник для регламентных заданий

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

Справочник «Параметры регламентных заданий» :

Реквизиты :

· КодПередЗапуском - неограниченная строка - код на языке 1С, который нужно выполнить перед запуском.

· Обработка из конфигурации - строка (100) - идентификатор обработки из конфигурации

· Обработка из справочника - строка (100) - ссылка на элемент справочника «Внешние обработки», если такой имеется в конфигурации

· Выполнять через приложение 1С - булево - будет создано отдельное приложение 1С и в нем будет запущено регламентное задание. Создано для 8.1, где не все методы приложения доступны на сервере, где работает регламентное задание.

· КодЗапуска - - неограниченная строка - код на языке 1С, который будет выполняться при запуске регламентного задания.

Создадим форму элемента :

По нажатию на кнопку «Создать регл. задание» программно создается регламентное задание с ключом-кодом:

Процедура ОсновныеДействияФормыСоздатьРеглЗадание(Кнопка)

Перем Задание;

Ключ = СокрЛП(Код);

Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание("ВыполнениеОбработки");

Задание.Наименование = Ключ;

Задание.Ключ = Ключ;

Параметры = Новый Массив();

Параметры.Добавить(Ключ);

Задание.Параметры = Параметры;

Задание.Записать();

КонецПроцедуры

Запуск регламентного задания

Каждое созданное нами регламентное задание имеет ключ:

Этот ключ соответствует коду справочника «Параметры регламентных заданий», по нему осуществляется поиск при старте задания. Если элемент справочника не найдено, задание не выполняется.

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

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

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

Рекомендую устанавливать пользователя в поле «Пользователь» у вновь созданного регламентного задания, чтобы задание выполнялось под определенными правами. Рекомендую такому пользователю давать полные права. У меня используется пользователь « robot ».

Расписание регламентного задания создается по гиперссылке «Расписание» из формы регламентного задания. Можно использовать обработку «Консоль регламентных заданий».

Механизм заданий - один из инструментов администрирования 1С. Он включает:

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

Вопрос 09.59 экзамена 1С:Профессионал по платформе. Экземпляр регламентного задания:

  1. может быть создан программно
  2. может быть создан в форме списка, доступной через команду главного меню программы ("Операции/Регламентные задания")
  3. создается всегда только один экземпляр (при создании соответствующего объекта конфигурации)
  4. определяется только в режиме конфигурирования на закладке Прочее по кнопке "Состав"
  5. верны ответы 1 и 2
Правильный ответ первый. Если регламентное задание предопределенное (рис.), то задание будет создано в единственном экземпляре с указанным в конфигураторе расписанием. Экземпляры НЕ предопределенных заданий появляются по расписанию, заданному в режиме Предпритятие, программно.
Вопрос 09.60 экзамена 1С:Профессионал по платформе. Количество одновременно выполняющихся регламентных заданий может быть:
  1. любым без ограничения
  2. любое количество, но не будут выполняться два задания с одинаковым ключем и именем метода
  3. любое количество, но не будут выполняться два задания с одинаковым ключем и наименованием
  4. любое количество, но не будут выполняться два задания с одинаковым ключем и связанные с одним и тем же объектом метаданных
Правильный ответ шестой. Ключ - свойство регламентного задания, которое позволяет сгруппировать несколько однотипных заданий. Одновременно может быть запущено только одно задание с одним значением ключа (пустое значение не в счет). Также, одновременно исполняется только одно рег.задание над конкретным объектом, во избежание коллизий.
Вопрос 09.62 экзамена 1С:Профессионал по платформе. В качестве метода регламентного задания может использоваться процедура у которой:
  1. не должно быть параметров
  2. может быть только один параметр (список значений)
  3. может быть только один параметр (структура)
  4. может быть только один параметр (массив)
  5. может быть любое количество параметров
Правильный ответ пятый. Число параметров метода регламентного задания соответствует числу параметров самого регламентного задания.
Вопрос 09.63 экзамена 1С:Профессионал по платформе. Для создания регламентного задания пользователь должен обладать:
  1. правами администратора
  2. правами на использование данного объекта конфигурации (настраивается в роли)
  3. правами на создание новых экземпляров данного объекта конфигурации (настраивается в роли)
  4. любыми правами, метод регламентного задания исполняется в привилегированном режиме
Правильный ответ первый, только администраторы вправе.
Вопрос 09.64 экзамена 1С:Профессионал по платформе. Если регламентное задание определено в конфигураторе (в соответствующем объекте конфигурации) как предопределенное, то для него характерно (выберите наиболее полный ответ):
  1. нельзя создать не предопределенный экземпляр регламентного задания с привязкой к объекту метаданных предопределенного регламентного задания
  2. предопределенный экземпляр регламентного задания нельзя пометить на удаление и удалить
  3. только предопределенные экземпляры регламентных заданий хранятся в информационной базе, не предопределенные экземпляры являются сеансовыми объектами и в базе не хранятся
  4. верны ответы 1 и 2
  5. верны ответы 2 и 3
  6. верны ответы 1, 2, 3
Правильный ответ второй. Предопределенные экземпляры регламентных заданий можно изменять, но нельзя удалять. Они всегда будут доступны в списке шаблонов:
Вопрос 09.67 экзамена 1С:Профессионал по платформе. Если в качестве метода регламентного задания используется функция, то:
  1. возвращаемое функцией значение игнорируется
  2. при попытке исполнения задания возникает ошибка
  3. система будет ожидать исполнения данного задания (исполнение будет происходить не асинхронно)
  4. значение будет возвращено в соответствующий параметр регламентного задания
Правильный ответ первый.
Вопрос 09.61 экзамена 1С:Профессионал по платформе. Как могут быть связаны между собой регламентные и фоновые задания?
  1. Регламентное задание может породить фоновое задание
  2. Регламентное задание в обязательном порядке порождает фоновое задание
  3. Фоновое задание в обязательном порядке порождает регламентное задание
  4. Нет никакой взаимосвязи
Правильный ответ второй - фоновое задание это объект, порождаемый регламентным, и он обязательнем к созданию, иначе само регламентное задание теряет смысл.
Вопрос 09.65 экзамена 1С:Профессионал по платформе. Для обеспечения работы регламентных и фоновых заданий необходимо:
  1. наличие запуска 1С:Предприятие с установленным при запуске флагом "Планировщик"
  2. наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы
  3. наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы (но только в файловом варианте функционирования системы)
  4. как в файловом, так и в клиент-серверном вариантах нет необходимости в запуске экземпляра 1С:Предприятие
На практике, правильный ответ третий. В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы). В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий().
По ответам, верный ответ четвертый.
Вопрос 09.57 экзамена 1С:Профессионал по платформе. Фоновые задания позволяют:
  1. выполнять процедуру по расписанию
  2. выполнять процедуру асинхронно
  3. производить перезапуск в случае аварийного завершения
  4. верны ответы 1 и 2
  5. верны ответы 2 и 3
  6. верны ответы 1, 2, 3
Правильный ответ второй. Асинхронно - значит, не дожидаясь завершения процедуры.
Вопрос 09.58 экзамена 1С:Профессионал по платформе. Количество одновременно запущенных фоновых заданий может быть:
  1. любым без ограничения
  2. только одно задание на информационную базу
  3. только по одному заданию на пользовательский сеанс
  4. любое количество, но нельзя запустить два задания с одинаковым ключем и именем метода
  5. любое количество, но нельзя запустить два задания с одинаковым ключем и наименованием
  6. любое количество, но нельзя запустить два задания с одинаковым ключем и связанные с одним и тем же объектом метаданных
Правильный ответ четвертый.
Вопрос 09.66 экзамена 1С:Профессионал по платформе. Завершившиеся фоновые задания:
  1. сохраняется в информационной базе
  2. являются сеансовыми объектами, хранятся некоторое время (в информационной базе не сохраняются)
  3. не хранятся ни в каком виде
Правильный ответ шестой - фоновое задание это объект встроенного языка.который существует только на время сеанса.

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

Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.

Для начала разберемся, что же они обозначают и в чем их отличие:

  • Регламентное задание позволяет запускать на выполнение какие-либо конкретные действия по заранее настроенному расписанию.
  • Фоновое задание – это объект, в котором содержатся выполняемые действия.

Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.

Откройте конфигурацию и добавьте регламентное задание.

Настройка свойств

Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.

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

Настройка расписания

Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.

Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.

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

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

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

Таким же образом можно полностью отключить регламентные задания в 1С 8.3. Для отключения конкретных фоновых заданий можно воспользоваться встроенной в последние релизы обработкой «Консоль фоновых заданий».

Фоновые и регламентные задания в файловом режиме

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

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

Так же вы можете воспользоваться следующей конструкцией:

В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.

Отслеживание ошибок в фоновых заданиях

Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».

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

Ряд задач в делопроизводстве требует регулярного выполнения, иначе весь рабочий процесс просто остановится. Отчеты требуется предоставлять определенного числа каждого месяца. Иногда каждую неделю или даже каждый день.

Как правило, в компаниях формируется специальные правила, которые регламентируют процесс составления отчетов и выполнения других задач. В этих регламентах прописывается ответственность каждой должности, указывается, кто и что должен проверять.

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

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

Регламентные задания 1С решают похожие задачи с установленной периодикой исполнения.

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

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

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

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

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

Как добавить регламентное задание 1С


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

Заходим в свойства регламентного задания, где в имени метода нужно указать «функция обработчик». При этом важно не забыть заранее добавить модель в свойствах сервера.

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

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

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

В стандартных конфигурациях, таких к примеру как Бухгалтерия редакции 2.0 регламентные задания 1с «пересчет итогов» и «обновление конфигурации» будут предопределенными а вот задания «отложенные движения» и «обмен данными» - не предопределенными. Опция «использование» запускает задание. Для того, чтобы задание исполнилось напротив «использование» нужно поставить галочку. Опция повтора в случае аварийного завершения перезапускает задание, если оно по каким-то причинам не выполнилось с первой попытки. При этом нужно указать, сколько раз требуется сделать перезапуск и по истечении какого времени с момента аварийного завершения.

Как управлять регламентным заданием в 1С: настройка и обработка

Для управления и мониторинга регламентным заданием в 1С предусмотрена типовая обработка в консоли задания. Она имеется на дисках ИТС. Такая обработка считается универсальной типовой обработкой и зачастую выпускается отдельным приложением на дисках ИТС.

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

Как правило фоновые задания в 1C:Предприятии запускаются из-под регламентного.

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

Рассмотрим простейший пример. Создадим обработку, которая будет запускать фоновое
задание, которое в свою очередь будет делать запись в журнале регистрации.

Поскольку
для фонового задания нам нужна процедура общего модуля, создадим этот общий модуль
с возможностью выполнения его процедур на сервере.

Создадим в этом общем модуле процедуру, которая будет делать запись в журнал
регистрации

Процедура ЗаписьВЖурналРегистрации(пар_ИмяСобытия, пар_Комментарий) Экспорт ЗаписьЖурналаРегистрации(пар_ИмяСобытия, , , , пар_Комментарий) ; КонецПроцедуры

Как видим в процедуре есть параметры. Значит фоновое задание должно их будет каким-то
образом в процедуру передать.

Теперь создадим обработку с помощью которой будем запускать фоновое задание.

Сделаем ее на управляемой форме, но для обычных форм принципиальной разницы не будет,
методы используются те же самые. Создаем простейшую форму с одной командой:


В модуле формы пишем следующий код:

&НаСервере Процедура ЗаписьЖРНаСервере() МассивПараметров = Новый Массив; МассивПараметров. Добавить("Событие. Фоновое задание отработало успешно" ) ; МассивПараметров. Добавить("Комментарий. Проверка работы фонового задания" ) ; ФоновыеЗадания. Выполнить ("сайт_РегламентныеЗадания.ЗаписьВЖурналРегистрации" , МассивПараметров) ; КонецПроцедуры &НаКлиенте Процедура ЗаписьЖР(Команда) ЗаписьЖРНаСервере() ; КонецПроцедуры

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

В качестве первого параметра этого метода указывается
имя общего модуля и имя процедуры, которая будет выполняться, тип — строка.
Второй параметр — это массив со значениями парметров для вызываемой процедуры.
Порядок следования элементов в массиве должен совпадать с порядком параметров в
процедуре.
Могут еще указываться Ключ и Наименование фонового задания.

А теперь протестируем работу обработки. Откроем ее в режиме 1С:Предприятия и
запустим на выполнение. Далее открываем журнал регистрации и видим, что задание
отработало успешно и сделало в журнале соответствующую запись.



Рекомендуем почитать

Наверх