для создания регламентного задания пользователь должен обладать правами

Общие требования к регламентным заданиям

Область применения: управляемое приложение, обычное приложение.

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

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

3.1. Если выполнение регламентного задания зависит от включенных одной или нескольких функциональных опций (ФО), то необходимо программно управлять признаком предопределенного регламентного задания Использование в зависимости от установленных ФО. Иначе регламентное задание будет приводить к запуску сеанса, занимая вычислительные ресурсы сервера 1С:Предприятие.

Настройка = Настройки.Добавить();
Настройка.РегламентноеЗадание = Метаданные.РегламентныеЗадания.ОбновлениеСтатусовДоставкиSMS;
Настройка.ФункциональнаяОпция = Метаданные.ФункциональныеОпции.ИспользоватьПочтовыйКлиент;
Настройка.ДоступноВМоделиСервиса = Ложь;

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

Для конфигураций без БСП следует управлять использованием регламентного задания, разместив, например, в модуле менеджера значения константы ИспользоватьПочтовыйКлиент следующий код:

Если Задание.Использование <> Значение Тогда
Задание.Использование = Значение;
Задание.Записать();
КонецЕсли;

3.2. Дополнительно следует обезопасить выполнение регламентного задания, включенного через консоль или другим способом, минуя включение ФО, вставив в начало процедуры обработки регламентного задания следующий код:

ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания();
Если НЕ ПолучитьФункциональнуюОпцию(«ИспользоватьПочтовыйКлиент») Тогда
ВызватьИсключение НСтр(«ru = ‘Регламентное задание недоступно по функциональным опциям.'»);
КонецЕсли;

Если в конфигурации используется подсистема «Регламентные задания» БСП и настроены зависимости регламентных заданий от ФО (как указано в п.3.1), то вместо этого достаточно вставить вызов, как показано в п.6.

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

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

ПараметрыЗадания = Новый Массив;
ПараметрыЗадания.Добавить(РассылкаОтчетов);
Задание.Параметры = ПараметрыЗадания;

Задание.ИмяПользователя = АвторРассылки;
Задание.Использование = Истина;
Задание.Наименование = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(«ru = ‘Рассылка отчетов: %1′»), СокрЛП(РассылкаОтчетов);
Задание.Расписание = РасписаниеРассылки;
Задание.Записать();

Настройка = Настройки.Добавить();
Настройка.РегламентноеЗадание = Метаданные.РегламентныеЗадания.РассылкаОтчетов;
Настройка.Параметризуется = Истина;

Также выполнить п.6.

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

Настройка = Настройки.Добавить();
Настройка.РегламентноеЗадание = Метаданные.РегламентныеЗадания.РассылкаОтчетов;
Настройка.РаботаетСВнешнимиРесурсами = Истина;

В этом случае при перемещении информационной базы администратору будет задан вопрос об отключении таких заданий.

6. Если регламентное задание попадает под требования, описанные в пунктах 3.1, 4.2, 5 и используется подсистема «Регламентные задания» БСП, то вначале процедур обработчиков таких заданий необходимо помещать вызов:

Первый параметр при этом заполнять обязательно.

Источник

Разбор тестирования 1С:Профессионал и PMP

Вопросы по разным конфигурациям 1С и проектному менеджменту

суббота, 3 марта 2018 г.

Регламентные и фоновые задания

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

14 комментариев:

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Описанное поведение (необходимость отдельного сеанса) было актуально для 8.2. Начиная с какого-то релиза 8.3(уже старого) регламентные работают без необходимости запуска отдельного сеанса.

09.64 Объясните, пожалуйста, почему их нельзя удалить?
Создаю, делаю предопределённым, тут же удаляю. даже не ругается ничего.

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

Понятнее не стало. Во-первых, я не нашёл в своей конфигурации (с нуля делал) где вообще Регламентные задания посмотреть. А, во-вторых, в вопросе же ничего не сказано про ИБ. В Конфигураторе можно удалять? (Я там удаляю без проблем.)

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Источник

Объект 1С «Регламентные задания»

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

Фоновое задание 1С:

ВАЖНО! Фоновые задания исполняются на сервере.

Отличие регламентного задания от подписки на событие:

Механизм регламентных и фоновых заданий работает:

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

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

Настройка регламентного задания осуществляется в палитре свойств данного объекта конфигурации.

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Палитра свойств объекта «Регламентные задания»:

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

Для управления фоновыми заданиями можно использовать обработку с диска ИТС » Консоль заданий «, которая позволяет:

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

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

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

Если задача имеет дело с чем-то вне базы 1С, то важное значение приобретают права пользователя Windows, под которым выполняется задание.Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.

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

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

Инициализация регламентного задания происходит:

Источник

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

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

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

Регламентные задания позволяют выполнять определенные действия по расписанию. Для выполнения используются фоновые задания.

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

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

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

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

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

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

Расписание регламентных заданий

Для настройки расписания нужно нажать на гиперссылку Открыть рядом со свойством Расписание. Будет открыто окно настройки расписания:

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

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

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

А закладке Дневное — повторять через 300 секунд:

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Нажмем ОК, сохраним конфигурацию базы данных. Теперь каждые 5 минут будет запускаться фоновое задание и выполнять код из процедуры, которая указана в свойстве Имя метода.

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

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

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

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Расписание можно создать программно:

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

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

Те же самые примеры, но программно:

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

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

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

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

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

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

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

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

Для получения списка всех регламентных заданий можно воспользоваться методом ПолучитьРегламентныеЗадания:

Параметром можно передать структуру с отбором:

Отбор можно выполнять по следующим свойствам:

С помощью методом НайтиПоУникальномуИдентификатору и НайтиПредопределенное можно получить конкретное задание по его идентификатору или имени предопределенного регламентного задания:

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

Если нужно запустить регламентное задание не дожидаясь наступления расписания, то можно просто вызвать процедуру общего модуля, которая указана в свойстве Имя метода:

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

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

Перезапуск при аварийном завершении

В настройках регламентного задания есть два свойства: Количество повторов при аварийном завершении и Интервал повтора при аварийном завершении.

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

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

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

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

Например, настроено выполнение регламентного задания на каждый час. В 10:00 задание по какой-то причине зависло. Пока не будет удален сеанс зависшего фонового задания следующие задания (в 11:00, в 12:00 и т.д.) не будут запущены.

Чтобы избежать этого в расписании задания можно указать ограничение по времени. Это указывается на закладке Дневное в свойстве Завершать через:

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

В результате такой настройки максимальное время выполнения регламентного задания = 3600 секунд. Через этого время сеанс фонового задания будет автоматически завершен.

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

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

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

Это нужно сделать у каждого клиентского приложения. Данный параметр запрещает выполнение регламентных заданий.

В конфигурациях на базе БСП можно выключить все регламентные задания следующим образом:

В конфигурациях на обычном приложении нужно скачать консоль заданий с ИТС

Открыть консоль заданий в пользовательском режиме и в верхнем списке для каждого задания снять флаг Использование:

Источник

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

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

Недавно я разместил статью: Чтение данных с сайта в формате XML и загрузка в 1С пришло время это автоматизировать:

Регламентные и фоновые задания

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

Механизм заданий решает следующие задачи:

Механизм заданий состоит из следующих компонентов:

Фоновые задания & предназначены для выполнения прикладных задач асинхронно. Фоновые задания реализуются средствами встроенного языка.

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

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

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

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

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

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

Использование – признак использования регламентного задания.

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

Если хотите что бы регламентное задание заработало сразу после помещения в БД, укажите признак Предопределенное. В противном случае вам необходимо будет использовать обработку “Консоль заданий” или вызывать запуск задания программно.

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

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

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

Расписание выполнения задания:

для создания регламентного задания пользователь должен обладать правами. Смотреть фото для создания регламентного задания пользователь должен обладать правами. Смотреть картинку для создания регламентного задания пользователь должен обладать правами. Картинка про для создания регламентного задания пользователь должен обладать правами. Фото для создания регламентного задания пользователь должен обладать правами

Каждый час, только один деньПериодПовтораДней = 0, ПериодПовтораВТечениеДня = 3600
Каждый день один раз в деньПериодПовтораДней = 1, ПериодПовтораВТечениеДня = 0
Один день, один разПериодПовтораДней = 0
Через день один раз в деньПериодПовтораДней = 2
Каждый час с 01.00 до 07.00 каждый деньПериодПовтораДней = 1ПериодПовтораВТечениеДня = 3600ВремяНачала = 01.00

Особенности выполнения фоновых заданий файловом и клиент-серверном вариантах

Механизмы выполнения фоновых заданий в файловом и клиент-серверном вариантах различаются.

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

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

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

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

Обработки запуска и просмотра регламентных заданий вы можете скачать здесь:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *