Регламентные и фоновые задания (создание, настройка, запуск). Регламентные и фоновые задания (1Cv8) 1с регламентное задание пользователь

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

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

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

В принципе, исходных данных уже достаточно, чтобы сделать первые выводы. Приведем их еще раз:

  • "Тормоза" происходят постоянно, с определенной периодичностью
  • "Тормозит" только у одного пользователя
  • "Тормозит" на любом рабочем месте

Чтобы подтвердить свои догадки заглянем в Настройки параметров учета :

Действительно, "проблемный" пользователь указан как пользователь для выполнения регламентных заданий. Как выяснилось, когда-то давно от имени этого пользователя работало задание автообмена РИБ. Осталось посмотреть, что именно являлось причиной эпизодического "торможения". Это тоже несложно сделать:

А вот и "виновник торжества" - задание обновления индекса полнотекстового поиска, которое запускалось один раз в 2,5 минуты. В данном случае проблема была полностью решена отключением выполнения регламентных заданий под этим пользователем, однако это не всегда возможно или целесообразно, поэтому ниже мы рассмотрим каким образом можно управлять регламентными заданиями и как сделать так, чтобы они не оказывали негативного влияния на производительность.

Обычное приложение

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

Управление многими регламентными заданиями производится через настройку связанных с ними подсистем. Например, настройки регламентных заданий, связанных с обменом данными следует искать в настройках обмена, связанные с ЕГАИС в настройках торговлей алкоголем и т.д.

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

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

Данный список нужно тщательно изучить, все ненужные задания следует отключить, а у нужных привести расписание в соответствие с насущными потребностями и здравым смыслом. Например, в нашем случае, нет никакой необходимости обрабатывать ответы ЕГАИС раз в 30 секунд (эта настройка сделана для тестирования) и в рабочем режиме вполне достаточно будет делать это скажем раз в полчаса.

Управляемое приложение

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

Для управления регламентными заданиями предназначен отельный пункт в меню Администрирование - Поддержка и обслуживание .

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

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

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

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

Обновление индекса ППД - одна из самых ресурсоемких операций, по умолчанию выполняется раз в минуту.

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

Тоже самое относится и к слиянию индекса ППД , если вы обновляете индекс раз в день, то следует настроить слияние на выполнение раз в неделю, при этом выбрав в качестве начала задания наименее мешающее работе время.

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

  • Теги:

Please enable JavaScript to view the

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

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

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

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

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

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

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

Получите 267 видеоуроков по 1С бесплатно:

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

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

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

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

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

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

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

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

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

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

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

ПодключитьОбработчикОжидания, 3600 ) ;

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

Периодическая очистка регистров (например, регистра сведений «Версии объектов» в конфигурации УПП), выполнение расчетов по расписанию, допроведение документов в определенное время – вот далеко не полный список действий, которые можно реализовать с помощью регламентных заданий 1С.

Создание задания

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

Регламентное задание незаменимо:

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

Для его создания необходимо зайти в информационную базу в режиме «Конфигуратор». Далее находим в дереве конфигурации ветку «Регламентные задания», они находятся на закладке «Общие» и нажимаем кнопку «Добавить» (Рис.1)

Давайте подробнее разберем окно его свойств (Рис.2) :
Рис.2

  1. Имя, синоним и комментарий – правила и принципы заполнения этих полей аналогичны для всех объектов конфигурации и описывать их еще раз нет необходимости;
  2. Имя метода – процедура общего модуля, которая максимально точно описывает необходимый алгоритм (нажатие на кнопку выбора открывает доступные процедуры, представление которых состоит из имени общего модуля и наименования процедуры в различных колонках таблицы);
  3. Ключ – определяет не столько уникальность регламентного задания, сколько уникальность фонового процесса, запущенного на основании задания, имеет ограничение по длине;
  4. Расписание – описанию этого элемента мы посвятим отдельный абзац нашей статьи;
  5. Использование – установка данного флажка определяет активность задания, ИСТИНА означает, что задание будет запускаться и выполняться по расписанию;
  6. Предопределенное – если у элемента установлена эта галочка, эти задания нельзя удалить, их создание происходит автоматически при сохранении конфигурации в базу;
  7. Количество повторов – если в процессе выполнения возникла исключительная ситуация, оно будет перезапущено, чтобы не возникла бесконечная зацикленность, программа ограничивает количество перезапусков;
  8. Интервал повтора – время в секундах между повторными запусками аварийно завершенных заданий.

Давайте более подробно рассмотрим расписание.

Расписание регламентного задания

Рис.3

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

Закладка «Общие»:

  • Дата начала выполнения задания;
  • Дата окончания обработки;
  • Периодичность повторения задания.

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

Закладка «Дневное» (Рис.4)
Рис.4

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

Закладки «Дневные» и «Недельные» содержат информацию для соответствующих периодов.

Особенности функционирования

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

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

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

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

Кроме того в стандартных поставках 1С появилась возможность управления плановыми работами напрямую из программы, не заходя в «Конфигуратор». В конфигурации «ЗУП», версии 3.1.3.223, открыть форму управления можно из меню Администрирование->Обслуживание->Регламентные операции->Регламентные и фоновые задания (Рис.5)
Рис.5

Открывшаяся форма имеет интуитивно понятный интерфейс и позволяет:


Можно также запустить выполнение задачи непосредственно из формы.

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

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

Такие задачи называют – регламентированными, то есть выполняемые согласно регламента.

В ИТ часто регламентированно выполняется мониторинг.

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

Аналогичные вещи существуют для вебмастеров – для проверки доступности сайта в течении суток.

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

Поговорим сегодня про них.

Регламентные задания 1С

Регламентные задания 1С – это , который позволяет выполнять , как это делает , а по расписанию.

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

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

Выполнение регламентных заданий 1С можно отключить временно – в .

Добавление регламентного задания 1С

Регламентные задания 1С находятся в конфигурации в ветке Общие/Регламентные задания 1С. Добавим новое регламентное задание 1С, укажем его имя.

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

Свойство регламентного задания 1С — Наименование задания – определяет название, под которым будет фигурировать задание в средствах управления заданиями.

Свойство регламентного задания 1С – Ключ – позволяет сгруппировать несколько разных регламентных заданий 1С. Одновременно может быть запущено только одно задание с одинаковым значением ключа. Само значение может быть произвольным. Пустое значение не учитывается при контроле (то есть считается не заполненным).

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

В типовых конфигурациях, например Бухгалтерии редакции 2.0, такие регламентные задания 1С как Обновление конфигурации и Пересчет итогов – предопределенные, а такие как Обмен данными или Отложенные движения – не предопределенные.

Использование – включает задание (то есть оно будет выполняться только если галочка Использование установлена).

Повтор при аварийном завершении – как легко догадаться означает перезапуск задания, если оно не смогло выполниться успешно с первого раза – указывается сколько раз перезапускать и через сколько после аварийного завершения.

Управление регламентным заданием 1С и мониторинг

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

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

С помощью обработки консоль заданий можно:

  • Включить/выключить выполнение регламентного задания 1С
  • Назначить/изменить расписание регламентного задания 1С (да и другие параметры)
  • Указать пользователя 1С, от имени которого будет выполнена регламентное задание 1С
  • Посмотреть — какие задачи когда были выполнены и с каким результатом, ошибки выполнения заданий 1С
  • Выполнить задание.

Копии баз данных и регламентные задания 1С

Если используется серверная 1С, то бывает следующая ситуация:

  • В своих целях (например, для программирования) делается копия рабочей базы
  • В копии базы работается, тестируется и так далее
  • Забывается выключить регламентные задания 1С в такой тестовой базе.

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

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

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

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

Выполнение и невыполнение регламентных задач 1С

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

  • Задачи выполняются сами собой – их необходимо мониторить
  • Задачи выполняются в модуле на сервере
  • Задачи выполняются под другим пользователем Windows, под другими правами.

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

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

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

Особенно важен при разработке третий пункт. Если модуль не может быть выполнен на сервере – задание не будет выполняться в принципе. Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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