1с работа с регламентными заданиями. Запуск фонового задания программно. Фоновые и регламентные задания в файловом режиме

На iOS - iPhone, iPod touch 25.02.2019
На iOS - iPhone, iPod touch

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

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

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

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

Регламентные задания — объект метаданных конфигурации 1С. Находится в группе Общие. Рассмотрим параметры и свойства регламентных заданий.

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

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

Использование — флаг, показывающий, включено ли регламентное задание.

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

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

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

Программная работа с регламентными заданиями

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

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

//Создаем задание
"ИмяРегдаментногоЗадания" ) ;

//Устанавливаем ключ регламентного задания (не обязательно)
Задание. Ключ = "КлючЗадания" ;

//Включаем регламентное задание
Задание. Использование = Истина ;

//Записываем регламентное задание
Задание. Записать() ;

Программное получение регламентного задания для изменения параметров

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


"ИмяРегламентногоЗадания" ] ) ) ;


Если Задания. Количество() > 0 Тогда
Задание= Задания[ 0 ] ;


Иначе
Задание = РегламентныеЗадания. СоздатьРегламентноеЗадание("ИмяРегламентногоЗадания" ) ;

КонецЕсли ;

//Регламентное задание находится в переменной Задание. Можно изменять его параметры.

Вызов диалога изменения расписания регламентного задания

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

//Получаем массив с регламентными заданиями нужного типа
Задания= РегламентныеЗадания. ПолучитьРегламентныеЗадания(новый Структура("Метаданные" , Метаданные. РегламентныеЗадания[ "ИмяРегламентногоЗадания" ] ) ) ;

//Если задание существует, то по условию оно одно
Если Задания. Количество() > 0 Тогда
Задание= Задания[ 0 ] ;

//Если задания нет, создадим его
Иначе
Задание = РегламентныеЗадания. СоздатьРегламентноеЗадание("ИмяРегламентногоЗадания" ) ;

КонецЕсли ;

Расписание= Задание. Расписание;

//Создаем диалог изменения расписания регламентного задания
ДиалогРедактирования= Новый ДиалогРасписанияРегламентногоЗадания (Расписание) ;

//Показываем диалог пользователю и обрабатываем изменения расписания
Если ДиалогРедактирования. ОткрытьМодально() Тогда
Задание. Расписание = ДиалогРедактирования. Расписание;
Задание. Записать() ;
КонецЕсли ;

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

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

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

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

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

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

Определение

Задача – это проблема, требующая разрешения с помощью имеющихся средств, поручение, которое нуждается в исполнении к указанному сроку. В её качестве может выступать любой вопрос, стоящий перед человеком, будь то сложная научная проблема (лекарство против рака) или относительно небольшая трудность (строительство дороги). Исполнитель ограничен тем набором ресурсов, который имеется у него в распоряжении.

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

Сравнение

В чем же разница между функцией и задачей? Итак, как задачи, так и функции ставятся человеку либо лидером, управленцем, либо самостоятельно. Однако категории различаются между собой по конечному результату, который должен достигнуть человек. Функция выполняется постоянно или периодически (доставка воды к жилым домам), и измерить результат можно лишь в определённую единицу времени. Задачи имеют совершенно другое качество: у каждой из них либо есть конкретное решение (одно или несколько), либо оно отсутствует (неразрешимая проблема).

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

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

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

Выводы сайт

  1. Результат. У задачи есть конкретное решение, в то время как у функции – нет, и она должна выполняться постоянно.
  2. Соотношение. Понятие «задача» является предельно широким: для реализации одной цели может использоваться несколько функций.
  3. Исполнитель. Решать задачу может только существо, наделённое разумом, выполнять функцию – любой механизм.
  4. Иерархия. Функции служат для реализации задач, поставленных перед человеком и обществом.
  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, под которым выполняется задание.

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



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

Наверх