Некоторые задачи в документообороте и учете бывает необходимо выполнять периодически. Например, по двадцатым числам. Или ежедневно.
Обычно в компании стараются создать правила о выполнении таких задач – кто, когда и как должен выполнить задачу, кто проконтролировать.
Такие задачи называют – регламентированными, то есть выполняемые согласно регламента.
В ИТ часто регламентированно выполняется мониторинг.
Это хорошо знакомо системным администратором – есть специальные программы, которые периодически проверяют работоспособность серверов и сетевой инфрастуктуры и сообщают смс или электронным письмом администратору.
Аналогичные вещи существуют для вебмастеров – для проверки доступности сайта в течении суток.
В 1С задачи мониторинга и любые другие периодические задачи, которые должны выполняться автоматически по расписанию, выполняются с помощью механизма Регламентые задания 1С.
Поговорим сегодня про них.
Регламентные задания 1С
Регламентные задания 1С – это объект 1С, который позволяет выполнять обработчик не при наступлении события, как это делает подписка на событие, а по расписанию.
Само регламентное задание 1С в конфигураторе – это способ указать настройки и задать расписание. Кстати, расписание можно менять динамически потом в режиме 1С Предприятие.
Если используется файловая база данных, то задания не выполняются автоматически. Для этого нужно запустить один из сеансов 1С в режиме 1С Предприятие и в нем выполнить команду
ВыполнитьОбработкуЗаданий();
Во всех типовых конфигурациях предусмотрена настройка пользователя, которая позволяет указать, что при запуске 1С под этим пользователем автоматически будут выполняться регламентные задания 1С. С точки зрения пользователя Windows – задание будет выполнено под тем пользователем, под которым запущен клиент 1С на данном компьютере.
При использовании клиент-серверного варианта 1С задачи выполняются автоматически, на сервере. Само «регламентное задание» не «выполняется». При наступлении времени срабатывания — запускается фоновое задание, которое и выполняет задачу. Фоновое задание выполняется под пользователем Windows, под которым работает процесс программы сервера 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, под которым выполняется задание.
Особенно важен при разработке третий пункт. Если модуль не может быть выполнен на сервере – задание не будет выполняться в принципе. Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.