в чем разница между регламентным задание и фоновым заданием и какое взаимодействие между ними
Регламентные и фоновые задания 1С 8
Наверное, каждому программисту 1С 8.3 рано или поздно приходилось настраивать выполнение определенных заданий по расписанию. Ниже я дам подробное описание данных механизмов, надеюсь, это будет полезной информацией для начинающих программистов 1С. Это очень удобно, ведь не требует действий от человека, регламентное задание настраивается 1 раз и работает по Вашему расписанию.
Как настраиваются регламентные и фоновые задания в 1С 8?
Развернутую инструкцию на примере загрузки курсов валют Вы найдете далее.
Что такое регламентные и фоновые задания в 1С
Настройка фоновых заданий в клиент-серверном режиме работы 1С
Для начала создадим новый объект метаданных — регламентное задание. Я назову свое задание «ЗагрузкаКурсовВалют». Рассмотрим палитру свойств данного объекта конфигурации:
И самая интересная настройка — Расписание:
Тут настраивается интервал запуска процедуры, указанного в поле «Имя метода». Допустим я настроил
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД!
Сделать это можно в утилите администрирования клиент-серверного варианта либо при создания новой БД:
Для управления фоновыми заданиями рекомендую использовать обработку с диска ИТС — «Консоль заданий«.
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме настройка таких заданий несколько труднее. Для такого задания должна быть запущена отдельная сессия программы 1С. Зачастую это решается заведением «технического» пользователя, чей сеанс всегда запущен.
В файловом режиме инициализация регламентного задания происходит при запуске метода «ВыполнитьОбработкуЗаданий()».
Для определенного пользователя можно настроить запуск этого метод, используя другой метод —
Двухминутное видео, в котором показано, как настроить регламентное задание в конфигураторе 1С:
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Регламентные и фоновые задания в 1С 8.3 и 8.2
Наверное, ни одна серьезная конфигурация на 1С 8.3 или 8.2 не обойдется без использования регламентных и фоновых заданий. Они очень удобны, так как по четко заданному расписанию будут выполняться без вмешательства пользователя и программиста.
Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.
Для начала разберемся, что же они обозначают и в чем их отличие:
Фоновые и регламентные задания в клиент-серверном режиме
Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.
Откройте конфигурацию и добавьте регламентное задание.
Настройка свойств
Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.
Настройка расписания
Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.
Получите понятные самоучители по 1С бесплатно:
Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.
Блокировка регламентных заданий
Запустите стандартную утилиту «Администрирование серверов 1С Предприятия» и откройте свойства той информационной базы, где вы создали регламентное задание (для клиент-серверных версий 1С).
В открывшемся окне (после ввода логина и пароля для доступа к ИБ) проверьте, чтобы не был установлен флаг на пункте «Блокировка регламентных заданий включена». Если вы столкнулись ситуацией, когда задание не отрабатывает, первым делом проверяйте эту настройку.
Таким же образом можно полностью отключить регламентные задания в 1С 8.3. Для отключения конкретных фоновых заданий можно воспользоваться встроенной в последние релизы обработкой «Консоль фоновых заданий».
Фоновые и регламентные задания в файловом режиме
В данном режиме настройку и запуск данных заданий намного труднее организовать. Чаще всего создается дополнительная учетная запись, сеанс которой всегда будет открыт.
Активация регламентных заданий в данном случае производится при использовании метода «ВыполнитьОбработкуЗаданий()».
Так же вы можете воспользоваться следующей конструкцией:
В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.
Отслеживание ошибок в фоновых заданиях
Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».
В журнале регистрации будут показаны все записи, соответствующие вашему отбору с указанием комментария, по которому вы можете понять причину ошибки.
Регламентные и фоновые задания в 1С 8.3
1. Что такое регламентные и фоновые задания 1С 8.3
Для начала давайте разберемся, что собой представляют фоновые и регламентные задания в 1С 8.3. Регламентные задания в 1С 8.3 – это механизм (объект метаданных 1С) созданный для выполнения задач по расписанию.
Фоновое задание в 1С 8.3 – это процесс, созданный путем запуска регламентного задания, который выполняет описанный в нем алгоритм.
Говоря простым языком, эти два объекта не могут существовать один без другого. Регламентное задание в 1С 8.3 является триггером (условием) запуска фоновых заданий. Также регламентные задания в 1С 8.3 можно сравнить с планировщиком заданий Windows, только триггером в данном случае является время.
Рассмотрим структуру регламентного задания в 1С 8.3:
Рисунок 1. Окно конфигурации
Регламентные задания находятся в разделе Общие, основного дерева конфигурации 1С. Для добавления нового регламентного задания нужно воспользоваться кнопкой «Добавить» в группе регламентных заданий.
Для примера возьмем регламентное задание «Выполнение задач по почте» конфигурации «Документооборот» 2.1.
Рисунок 2. Окно настроек регламентного задания
Имя – имя регламентного задания для конфигуратора.
Синоним – наименование для пользователя, которое пользователь видит в обработке «Регламентные и фоновые задания» 1С 8.3
Имя метода – путь к Процедуре, которая будет выполняться по расписанию. Следует отметить несколько нюансов при создании такой функции:
1) Процедура обязательно должна находиться в общем модуле 1С
2) Общий модуль 1Сдолжен быть с директивой «Сервер».
3) Процедура обязательно должна быть экспортной процедурой
Ключ – свойство, которое позволяет формально группировать несколько регламентных заданий 1С 8.3, а также позволяет разграничить однотипные задания. Если есть несколько заданий с одинаковым ключом, они будут выполняться последовательно. В результате в разрезе группы в один промежуток времени может выполняться одно задание из каждой группы. Следует учитывать, что если Ключ не заполнен, он не учитывается.
Расписание – это настройка, которая позволяет настроить периоды выполнения задания по времени.
Рисунок 3. Окно настроек расписания
В данной настройке мы можем задать периоды, когда регламентное задание в 1С 8.3 будет выполняться.
Использование – признак того, будет ли выполняться данное регламентное задание.
Повтор при аварийном завершении – повторный запуск регламентного задания. Сбой может произойти, если в результате выполнения регламентного задания сработало исключение, либо когда происходит перезапуск сервера.
2. Управление регламентными заданиями в 1С 8.3
Для управления регламентными заданиями в типовых конфигурациях, использующих библиотеку стандартных подсистем, присутствует обработка «Регламентные и фоновые задания»:
Рисунок 4. Окно обработки «Регламентные и фоновые задания»
В данной обработке мы видим, какие задания включены, т.е. которые будут выполнены по регламенту.
Наименование – синоним регламентного задания 1С 8.3 из конфигуратора.
При двойном клике на регламентном задании в 1С 8.3 мы можем открыть его свойства.
Рисунок 5. Окно настроек регламентного задания
В свойствах мы можем поменять его расписание. В данном случае эта настройка будет считаться актуальнее той, которая задана в конфигураторе. А также указать пользователя, под которым выполняется регламентное задание (это целесообразно для файлового варианта базы, об этом мы поговорим далее). В большинстве случаев этот пользователь должен иметь права администратора, чтобы процедура, выполняемая в фоновом задании, не имела ограничений.
3. Особенности работы в файловой и клиент-серверной базах
Следует также отметить особенности работы регламентных задний в файловой и клиент-серверной базах.
Клиент-серверная база – в данном варианте для выполнения фоновых заданий существует отдельный пользователь. Поскольку серверная база работает постоянно, то и регламентные задания работают независимо от количества человек в базе. Регламентные задания выполняются под учетной записью пользователя Windows, который запустил сервер 1С.
В данной статье мы рассмотрели регламентные и фоновые задания, как их создавать, настраивать, контролировать, а также особенности их работы в разных архитектурах 1С.
Объект 1С «Регламентные задания»
Регламентные задания 1С — это специальный механизм системы, предназначенный для выполнения определенного действия автоматически в фоновом режиме и по определенному расписанию (например, рассылка отчетов, отложенное проведение документов, загрузка курсов валют и др.).
Фоновое задание 1С:
ВАЖНО! Фоновые задания исполняются на сервере.
Отличие регламентного задания от подписки на событие:
Механизм регламентных и фоновых заданий работает:
Особенности регламентных и фоновых заданий 1С:
Настройка регламентного задания в клиент-серверном режиме работы 1С
Настройка регламентного задания осуществляется в палитре свойств данного объекта конфигурации.
Палитра свойств объекта «Регламентные задания»:
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД! Блокировка может быть установлена для каждой информационной базы в отдельности.
Для управления фоновыми заданиями можно использовать обработку с диска ИТС » Консоль заданий «, которая позволяет:
Особенности настройки регламентных заданий 1С:
Необходимо проверить, что задача выполняется и может быть выполнена как регламентное задание 1С.
В серверном модуле могут быть недоступны многие вещи, которые доступны на клиенте. Например, не все документы могут быть проведены только на сервере, так как в их алгоритме может быть предусмотрено, что проведение запускается пользователем вручную и могут быть использованы несерверные функции. Если модуль не может быть выполнен на сервере – задание не будет выполняться в принципе.
Если задача имеет дело с чем-то вне базы 1С, то важное значение приобретают права пользователя Windows, под которым выполняется задание.Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме для регламентного задания должна быть запущена отдельная сессия программы 1С. Часто это решается определением «технического» пользователя, чей сеанс всегда запущен.
Инициализация регламентного задания происходит:
Механизм заданий
Основные возможности механизма заданий
Фоновые задания
Механизм фоновых заданий реализуется средствами встроенного языка. Фоновые задания предназначены для для выполнения прикладных задач асинхронно. Они могут порождать дочерние фоновые задания, например для распараллеливания сложных вычислений по различным рабочим серверам кластера в клиент-серверном варианте работы.
Существует возможность ограничить выполнение фоновых заданий, имеющих одинаковые методы, по определенному прикладному признаку. Программное создание и управление фоновыми заданиями возможно из любого соединения пользователя с информационной базой системы 1С:Предприятие 8. Фоновое задание выполняется от имени пользователя, который его создал.
Регламентные задания
Регламентные задания представляют собой неотъемлемую часть конкретного прикладного решения и описываются на этапе конфигурирования.
Для каждого регламентного задания может быть задано расписание, в соответствии с которым регламентое задание будет автоматически запущено на исполнение. В системе 1С:Предприятие 8 поддерживаются однократные и периодические расписания. Можно задать дату начала и окончания выполнения, дневное, недельное и месячные расписания. Расписание можно задать как на этапе конфигурирования, так и на этапе выполнения (в режиме 1С:Предприятие).
В процессе запуска регламентное задание порождает фоновое задание, которое и выполняет реальную обработку. Регламентное задание может выполняться от имени заданного пользователя и имеет возможность перезапуска (например, в случае непредвиденного завершения работы).
В утилите администрирования клиент-серверного варианта работы автоматическое выполнение регламентных заданий может быть запрещено для конкретной информационной базы.
Особенности выполнения регламентных заданий
В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы):
В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий():


















Основные возможности механизма заданий

