Defuser 1c фоновое задание что это
Наверное, ни одна серьезная конфигурация на 1С 8.3 или 8.2 не обойдется без использования регламентных и фоновых заданий. Они очень удобны, так как по четко заданному расписанию будут выполняться без вмешательства пользователя и программиста.
Например, вам нужно раз в сутки вам нужно совершать обмен данными с другой программой. Используя регламентные и фоновые задания, 1С сможет производить данные действия самостоятельно, например, в нерабочее время. Такой способ никак не повлияет на работу пользователей и поможет сэкономить время.
Для начала разберемся, что же они обозначают и в чем их отличие:
- Регламентное задание позволяет запускать на выполнение какие-либо конкретные действия по заранее настроенному расписанию.
- Фоновое задание – это объект, в котором содержатся выполняемые действия.
Фоновые и регламентные задания в клиент-серверном режиме
Предположим, что наша фирма что-нибудь продает и имеет собственный сайт, на котором расположены цены. Раз в сутки мы хотим их выгружать для поддержания актуальности.
Откройте конфигурацию и добавьте регламентное задание.
Настройка свойств
Рассмотрим самые важные параметры, которые необходимо заполнить в его свойствах.
Настройка расписания
Завершающим шагом мы настроим расписание нашей выгрузки на сайт по соответствующей гиперссылке в палитре свойств.
Получите понятные самоучители по 1С бесплатно:
Перед вами откроется типовая настройка расписания в 1С 8.3. Здесь нет ничего сложного. В рамках данного примера мы настроили запуск нашей выгрузки цен на сайт ежедневно с пяти до семи утра. В том случае, если регламентное задание не успеет отработать до 7:00, оно будет выполнено уже на следующий день.
Блокировка регламентных заданий
Запустите стандартную утилиту «Администрирование серверов 1С Предприятия» и откройте свойства той информационной базы, где вы создали регламентное задание (для клиент-серверных версий 1С).
В открывшемся окне (после ввода логина и пароля для доступа к ИБ) проверьте, чтобы не был установлен флаг на пункте «Блокировка регламентных заданий включена». Если вы столкнулись ситуацией, когда задание не отрабатывает, первым делом проверяйте эту настройку.
Фоновые и регламентные задания в файловом режиме
В данном режиме настройку и запуск данных заданий намного труднее организовать. Чаще всего создается дополнительная учетная запись, сеанс которой всегда будет открыт.
Активация регламентных заданий в данном случае производится при использовании метода «ВыполнитьОбработкуЗаданий()».
Так же вы можете воспользоваться следующей конструкцией:
В качестве имени процедуры необходимо указать имя клиентской процедуры, которая должна будет выполниться. Интервал показывает, через сколько секунд будет произведено выполнение. Параметр «Однократно» не обязателен к заполнению. Он отражает, будет ли выполнена данная процедура однократно, либо несколько раз.
Отслеживание ошибок в фоновых заданиях
Посмотреть ход выполнения фоновых заданий, а так же наличие возможных ошибок можно в журнале регистрации. В фильтре установите отбор приложению «Фоновое задание» и при необходимости выберите интересующую важность, например, только «Ошибки».
В журнале регистрации будут показаны все записи, соответствующие вашему отбору с указанием комментария, по которому вы можете понять причину ошибки.
1С фоновое задание позволяет нам производить какие-либо вычисления в системе незаметно для пользователя, то есть в фоне. Более того данный механизм позволяет нам распараллелить процесс вычисления. Распараллелить мы можем даже процедуру, которая будет выполняться. Для этого наше фоновое задание должно запускать еще несколько фоновых заданий. В этом случае процессы распараллеливаются и, если у нас многопроцессорная, многоядерная система, наш алгоритм будет работать эффективно. После запуска нескольких процессов мы можем сказать системе, что необходимо дождаться окончания выполнения этих процессов для того, чтобы потом каким-то образом свести результат.
К примеру, в типовых конфигурациях, в то время как пользователь работает, происходит выполнение различного рода сервисных фоновых заданий. Об этом может свидетельствовать записи журнала регистрации, в котором фиксируется факт выполнения таких действий. Причем на работу пользователя это никак не влияет, он просто их не замечает.
В идеале фоновое задание реализуется в варианте клиент-сервер, в этом случае вся нагрузка переходит на сервер. Что касается файлового варианта, то работа фонового задания возможна, но она имеет некоторые особенности.
Вот что выдаст система если не учесть эти особенности, и запустить фоновое задание в файловом варианте информационной базы.
Обратившись к синтакс-помощнику можно получить более детальные сведения о фоновых заданиях 1С. Здесь следует отметить, что это объект исключительно программный и он никак не сохраняется в базе данных. То есть мы создаем экземпляр класса, инициализируем свойства и запускаем его на выполнение.
Какие же средства мы имеем для управления фоновыми заданиями? Этим средством является объект метаданных"МенеджерФоновыхЗадания". У этого объекта есть метод "Выполнить", с помощью этого метода, как раз и запускается фоновое задание.
Имеет он следующие параметры: "ИмяМетода" - имя процедуры или функции, которую нужно выполнить, причем это должна быть процедура или функция серверного контекста; "Параметры" - массив параметров, количество элементов которого должно соответствовать количеству параметров нашей процедуры/функции, указанной в параметре "ИмяМетода"; "Ключ" - некий ключ уникальности, представляющий из себя строчку, по которой система понимает нужно ли запускать фоновое задание либо такое задание уже запущено; "Наименование" - здесь можно указать произвольное описание нашего метода.
Возвращаемым значением является объект "ФоновоеЗадание", содержащий текущее имя метода, текущий ключ и еще несколько свойств и методов. Одним из таких методов является метод "ОжидатьЗавершения". Его задачей является то, что мы может указать системе, чтобы ничего не производилось пока не будет завершено фоновое задание.
Фоновое задание 1С 8.2, 8.3 - Пример использования
Приведем пример работы с фоновыми заданиями 1С. Сначала создадим простой алгоритм, который будет ненадолго загружать систему 1С таким образом, чтобы мы ничего не могли в это время делать.
Для этого:
1. Создадим общий модуль "ОбработчикиФоновыхЗаданий", который будет компилироваться на стороне сервера;
2. Опишем в нем экспортную процедуру "ПроизветиФоновоеВычисление(Параметр)", которая принимает один параметр строкового типа;
3. Далее создадим внешнюю обработку и в событии нажатия на кнопку поместим код, запускающий наш алгоритм;
Готово. Теперь при запуске обработки и нажатии на кнопку происходит подвисание системы на несколько секунд, в процессе которого ничего нельзя сделать. Это как раз то, что нам и нужно было сделать.
Теперь обеспечим произведение этих вычислений в фоне, то есть чтобы фоновое задание 1С 8.2, 8.3 выполнялось, но нам не мешало.
Для этого:
1. В обработке, в событии нажатия кнопки пропишем следующий код.
Здесь первым параметром мы передаем имя процедуры общего модуля, а вторым - массив параметров. Третьим параметром нужно передать уникальный ключ и четвертым некоторое описание нашей процедуры.
Готово. Теперь можем проверять. Перезапускаем нашу обработку нажимаем кнопку, система не подвисает и мы работаем беспрепятственно.
Кстати, убедиться в том, что 1С фоновое задание работало можно посмотрев в записи журнала регистрации. В этих записях фиксируется когда производился запуск фонового задания.
Приведенный выше пример показывает, как работает фоновое задание 1С 8.2, 8.3. То, каким полезным оно может быть в разработке ваших алгоритмов.
В технологической платформе «1С:Предприятие» версии 8.3 реализовали возможность выполнять фоновые задания в файловой базе в едином сеансе.
В клиент-серверном варианте, выполнение регламентных операций можно отключить через консоль администрирования кластера 1С, а для файловой базы, необходимо воспользоваться ключом запуска
Очень полезно, когда необходимо выполнять монопольные операции с базой данных в файловом режиме работы.
Рассмотрим задачу, когда нужно выгрузить базу данных, но периодически запускаются фоновые задания и не дают запустить процесс выгрузки.
Если база серверная, то можно использовать утилиту администрирования серверов 1С Предприятия. Раскрыть ветку Информационные базы, выбрать нужную базу и правой кнопкой мыши открыть ее Свойства (может выйти окно с запросом Пользователь/Пароль – это данные для входа в базу с правами администрирования), откроется окно Параметры информационной базы, нужно установить галочку у свойства Блокировка регламентных заданий включена и ОК (рис. 1). После выгрузки базы нужно вернуться в Свойства и снять установленную галочку.
Рис. 1. Свойства ИБ
Для остановки выполнения фоновых заданий также можно использовать Консоль заданий или встроенную обработку Регламентные и фоновые задания (рис. 2):
Рис. 2. Регламентное задание
Для остановки выполнения регламентного задания нужно снять галочку Включено. Если выполняется фоновое задание, то на вкладке Фоновые задания можно выделить задание и нажать на кнопку Отменить.
После выгрузки базы нужно вернуться и восстановить выполнение регламентных заданий, которые были отключены (установить галочку Включено).
Наверное, каждому программисту 1С 8.3 рано или поздно приходилось настраивать выполнение определенных заданий по расписанию. Ниже я дам подробное описание данных механизмов, надеюсь, это будет полезной информацией для начинающих программистов 1С. Это очень удобно, ведь не требует действий от человека, регламентное задание настраивается 1 раз и работает по Вашему расписанию.
Как настраиваются регламентные и фоновые задания в 1С 8?
Развернутую инструкцию на примере загрузки курсов валют Вы найдете далее.
Что такое регламентные и фоновые задания в 1С
- Регламентные задания — это специальный механизм 1С предприятия 8.3, предназначенный для выполнения определенного действия по заданному расписанию.
- Фоновое задание — объекты, порождаемые регламентным заданием, которые непосредственно выполняет заложенное действие без участия пользователя или программиста 1С 8.2.
Механизм регламентных и фоновых заданий работает в клиент-серверном режиме работы (SQL), благодаря функционалу СУБД . Если у вас файловая БД, то задание тоже можно настроить, но немного по другому принципу.
Настройка фоновых заданий в клиент-серверном режиме работы 1С
Для начала создадим новый объект метаданных — регламентное задание. Я назову свое задание «ЗагрузкаКурсовВалют». Рассмотрим палитру свойств данного объекта конфигурации:
Получите 267 видеоуроков по 1С бесплатно:
- Бесплатный видео самоучитель по 1С Бухгалтерии 8.3 и 8.2;
- Самоучитель по новой версии 1С ЗУП 3.0;
- Хороший курс по 1С Управление торговлей 11.
- Имя метода — путь к процедуре, которая будет выполняться в фоновом задании по заданному расписанию. Процедура должна находиться в общем модуле. Рекомендуется не использовать типовые общие модули, а создать свой. Не забудьте, что фоновые задания исполняются на сервере!
- Использование — признак использования регламентного задания.
- Предопределенное — указывает, является ли регламентное задание предопределенным. Если хотите чтобы регламентное задание заработало сразу после помещения в БД, укажите этот признак. В противном случае вам необходимо будет использовать обработку «Консоль заданий» или вызывать запуск задания программно.
- Количество повторов при аварийном завершении задания — сколько раз выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
- Интервал повтора при аварийном завершении задания — с какой периодичностью будет выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
И самая интересная настройка — Расписание:
Тут настраивается интервал запуска процедуры, указанного в поле «Имя метода». Допустим я настроил
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД!
Сделать это можно в утилите администрирования клиент-серверного варианта либо при создания новой БД:
Для управления фоновыми заданиями рекомендую использовать обработку с диска ИТС — «Консоль заданий«.
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме настройка таких заданий несколько труднее. Для такого задания должна быть запущена отдельная сессия программы 1С. Зачастую это решается заведением «технического» пользователя, чей сеанс всегда запущен.
В файловом режиме инициализация регламентного задания происходит при запуске метода «ВыполнитьОбработкуЗаданий()».
Для определенного пользователя можно настроить запуск этого метод, используя другой метод —
- Имя процедуры — имя процедуры, подключаемой в качестве обработчика ожидания. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте .
- Интервал — период между выполнениями операций в секундах.
- Однократно — как выполнять задание, один раз или нет.
Двухминутное видео, в котором показано, как настроить регламентное задание в конфигураторе 1С:
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
В системе 1С:Предприятие 8.3 предусмотрено довольно много способов повышения производительности и быстродействия. Один из вариантов – настройка регламентных и фоновых заданий.
Для начала кратко определим, что это такое, для чего они нужны и за что отвечают:
- Регламентные задания в 1С – это механизмы, заложенные в конфигурацию, указывающие на необходимость выполнять определенных задач по установленному расписанию. Такое задание в обязательном порядке порождает фоновое.
- Фоновые задания в 1С 8.3 – это действия, производимые программой 1С незаметно для работающего в ней. Отслеживают их исполнение только по журналу регистрации. Особенностью такого задания является то, что при его выполнении не блокируется работа пользователя, он может продолжать вносить и редактировать данные, даже если процедура запущена.
Как настроить регламентное задание и фоновое
Рассматриваемые нами процессы начинают исполняться автоматом после запуска 1С, при этом они используют огромное количество ресурсов и замедляют работу. Чтобы оптимизировать работу, по согласованию с пользователем конкретной информационной базы надо решить, какие задания нужно отключить, а какие оставить в автоматическом запуске при загрузке.
В программе 1С 8.3 список заданий находится в «Администрирование-Настройки программы-Обслуживание».
В «Обслуживание-Регламентные операции» находим ссылку на наши операции.
Перед нами список заданий, разделенных по виду на отдельных вкладках.
У Регламентных заданий указывается:
- Наименование;
- Состояние (выполняется или выполнено);
- Дата окончания.
У Фоновых заданий:
- Состояние (выполняется или выполнено);
- Наименование;
- Начало;
- Окончание.
Рассмотрим регламентную операцию «Загрузка курсов валют». Заходим на соответствующую вкладку. С заданиями можно осуществлять следующие действия:
- Включить – поставить флажок «включено»;
- Выключить – снять флажок «включено», затем «Записать и закрыть». Так можно отключить задания, которые не представляются важными, и это значительно увеличит скорость работы в программе 1С;
- Настроить расписание исполнения.
Виды расписаний
Общее – указываем дату начала/окончания, а также периодичность повторений в днях.
Дневное – указав время начала, время окончания, завершать после какого времени, а также повторять через, повторять с паузой, останавливать через. Время указывается в секундах.
Недельное – на этой вкладке галочками мы отмечаем дни недели, а также количество повторений.
Месячное – галочками отмечают месяцы, в которые надо запускать задания обоих видов.
Добавление Регламентного задания
Для добавления в информационную базу такого вида задания, надо открыть Конфигуратор. Для создания задания пользователь должен обладать правами администратора.
Далее выбираем «Конфигурация-Открыть конфигурацию». Затем открываем «Общие-Регламентные задания», нажимаем правой кнопкой мыши, появляется окошко «Добавить». Выбираем его.
- В графе «Имя модуля» указывается процедура для исполнения. В ней прописаны все подробности и нюансы работы;
- Для отключения или включения задания необходимо установить или удалить флажок в поле «Использование»;
- Указываем «Предопределенность». Задания с этой характеристикой запускаются автоматом. Если не поставить галочку, то надо будет запускать их дополнительно;
- Указываем число повторений и длину интервалов между ними при аварийном завершении работы.
Также здесь мы можем настроить расписание задания. Нажимаем на кнопку «Расписание (Открыть)» и переходим к его заполнению.
К примеру, нам нужно выполнять наше задание с 1 по 30 сентября один раз в день. Также мы можем настроить расписание исполнения Регламентного задания, как уже было описано выше.
Сегодня мы познакомились с Регламентными и Фоновыми заданиями в программе 1С 8.3, узнали, как добавить новое задание или настроить существующее, а также отключить выполнение ненужных задач. В заключение хочется отметить, что оба видов заданий в 1С очень удобны для пользователя, так как выполняются автоматом, по четко заданному сценарию, не отвлекая специалиста от работы, и тем самым увеличивают производительность труда.
Читайте также: