1c регламентные задания. Фоновые задания: особенности, возможности, настройка. – Обновление задач бухгалтера


Как ускорить работу в 1С:Бухгалтерия 8.3 (редакция 3.0) или отключаем регламентные и фоновые задания

2019-01-15T13:28:19+00:00

Те из вас, кто уже успел перейти на новую редакцию 1С:Бухгалтерия 8.3 (редакция 3.0) успели заметить, что работать она стала медленнее, чем двойка. Какие-то непонятные подтормаживания, бесконечные фоновые задачи по нескольку раз в день, которые её никто не просил выполнять без нашего ведома.

Мне мои бухгалтеры сразу после перехода так и заявили, что новая редакция 1С:Бухгалтерия 3.0 в сравнении с предыдущими откровенно тормозит! И работать просто невозможно.

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

Ну, например, зачем нам по сто раз в день запускать задачу "Извлечение текста", если мы не осуществляем полнотекстовый (бухгалтеры, не пугайтесь) поиск по всем объектам нашей базы.

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

То же касается и постоянной попытки 1С подключиться к сайту и проверить и обновить классификаторы банков. Зачем? Я и сам нажму кнопку обновить классификаторы, если не найду нужного банка по его БИК.

О том как это сделать по пунктам ниже.

1. Зайдите в раздел "Администрирование" и в панели действий выберите пункт "Обслуживание" ():

2. В открывшемся окне найдите и выберите пункт "Регламентные и фоновые задания":

3. Откройте каждое задание, у которого в колонке "Вкл." стоит галка.

4. Снимите отметку с пункта "Включено" и нажмите кнопку "Записать и закрыть".

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

При этом некоторые из отключенных вами регламентных заданий платформа всё-равно включит обратно.

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

Недавно я разместил статью: пришло время это автоматизировать:

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

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

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

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

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

  • Метаданных регламентных заданий;
  • Регламентных заданий;
  • Фоновых заданий;
  • Планировщика заданий.

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

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

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

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

С описанием, думаю, хватит - приступим к реализации:

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

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

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

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

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

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

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

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

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

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

ВремяКонца = 07.00

Каждую субботу и воскресенье в 09.00 ПериодПовтораДней = 1ДниНедели = 6, 7ВремяНачала = 09.00
Каждый день одну неделю, неделя пропуска ПериодПовтораДней = 1ПериодНедель = 2
В 01.00 один раз ВремяНачала = 01.00
Последнее число каждого месяца в 9:00. ПериодПовтораДней = 1ДеньВМесяце = -1ВремяНачала = 09.00
Пятое число каждого месяца в 9:00 ПериодПовтораДней = 1ДеньВМесяце = 5ВремяНачала = 09.00
Вторая среда каждого месяца в 9:00 ПериодПовтораДней = 1ДеньНеделиВМесяце = 2ДниНедели = 3

ВремяНачала = 09.00

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

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

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

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

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

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

  • На информационную базу установлена явная блокировка регламентных заданий. Блокировка может быть установлена через консоль кластера;
  • На информационную базу установлена блокировка соединения. Блокировка может быть установлена через консоль кластера;
  • Из встроенного языка вызван метод УстановитьМонопольныйРежим() с параметром Истина;
  • В некоторых других случаях (например, при обновлении конфигурации базы данных).

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

». В ней мы рассмотрим новые возможности, которые не касаются интерфейса системы, но существенным образом расширяют предоставляемый функционал платформы «1С:Предприятие 8».

Применимость

В статье рассматривается платформа «1С:Предприятие» версии 8.3.4.437. Вся функциональность, описанная в статье, актуализирована до редакции 8.3.11.

Прочие новшества в «1С:Предприятие 8.3»

Продолжим знакомиться с новшествами платформы «1С:Предприятие 8.3».

Фоновые и регламентные задания в файловой информационной базе

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

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

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

Это могло быть особенно критично при работе с такими конфигурациями, как “Комплексная автоматизация” или “Управление производственным предприятием, в которых регламентные задания играют довольно важную роль.

Если ЭтоФайловаяИБ Тогда
=
Константы.ПользовательДляВыполненияРегламентныхЗаданийВФайловомВарианте.Получить ();
Если глЗначениеПеременной (“глТекущийПользователь” ) =
ПользовательДляВыполненияРеглЗаданий Тогда
// с интервалом секунд вызываем процедуру работы с регламентными заданиями
ПоддержкаРегламентныхЗаданиеДляФайловойВерсии ();
ИнтервалДляОпроса =
Константы.ИнтервалДляОпросаРегламентныхЗаданийВФайловомВарианте.Получить ();
Если ИнтервалДляОпроса = Неопределено
ИЛИ ИнтервалДляОпроса = 0 Тогда
ИнтервалДляОпроса = 60 ;
КонецЕсли ;
ПодключитьОбработчикОжидания (“ПоддержкаРегламентныхЗаданиеДляФайловойВерсии” ,
ИнтервалДляОпроса );
КонецЕсли ;
КонецЕсли ;

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

Фоновые и регламентные задания выполняются непосредственно в одном из клиентских приложений (тонкий, толстый клиент) или расширением веб-сервера.

Фоновое задание, запущенное каким-либо сеансом, выполняется тем же клиентским приложением, которое его инициировало.

Фоновые задания выполняются последовательно, т.е. на одном клиентском приложении в один момент времени может выполняться только одно фоновое задание (в том числе и регламентное).

Регламентные задания выполняются только одним клиентским приложением. Для управления запуском регламентных заданий предназначен ключ командной строки /AllowExecuteScheduledJobs .

Регламентные задания выполняются первым по порядку запуска клиентским приложением, которому не запрещено выполнение регламентных заданий (для запрещения сеанс должен быть запущен с параметром командной строки /AllowExecuteScheduledJobs -Off ).

Когда этот сеанс завершается, выполнение переходит к какому-либо из оставшихся запущенными сеансов.

Если в строке запуска клиентского приложения явно указана необходимость запуска регламентных заданий (в командной строке указано /AllowExecuteScheduledJobs -Force ), то регламентные задания начинают выполняться на нем, независимо от наличия других сеансов.

Обработка регламентных заданий происходит один раз в 60 секунд.

Заметим, что регламентные задания прикладного решения (в файловом варианте) начинали выполняться не ранее, чем через 1 минуту после запуска клиентского приложения. Начиная с редакции 8.3.8 это время увеличили вдвое, и поэтому регламентные задания начинают выполняться максимум через 2 минуты после запуска клиента (в файловом варианте).

Такое решение обусловлено уменьшением задержки при старте приложения. Кроме того, в релизе 8.3.7 была добавлена возможность быстрого определения того, что текущий сеанс является сеансом фонового задания. Это реализовано за счет нового метода глобального контекста ПолучитьТекущийСеансИнформационнойБазы(), а также нового метода у сеанса информационной базы ПолучитьФоновоеЗадание() .

Ниже показан код, который иллюстрирует вышеописанное:

Для увеличения нажмите на изображение.

Вычисление контрольных сумм

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

Напомним, что контрольная сумма (хеш) – это некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении.

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

Для этого в платформе был реализован объект ХешированиеДанных , доступный на сервере, в толстом клиенте, внешнем соединении, а также на сервере мобильного приложения.

Данный объект имеет два метода: Добавить() и ДобавитьФайл() , которые обновляют хеш-сумму с учетом данных, переданных в параметрах.

Платформа 8.3.4.437 поддерживает вычисление следующих хеш-функций: CRC32 , MD5 , SHA1 , SHA256 . Но функции SHA1 и SHA256 не поддерживаются на мобильной платформе.

Рассмотрим простой пример. Предполагается, что на сервере в каталоге программы есть файл “ragent.exe ”. Необходимо рассчитать MD5 -сумму для этого файла.

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

&НаКлиенте
Процедура Рассчитать (Команда )
Результат = РассчитатьНаСервере ();
Сообщить (Строка (Результат ));
КонецПроцедуры
&НаСервере
Функция РассчитатьНаСервере ()
Хеш = Новый ХешированиеДанных (ХешФункция .MD5 );
Хеш.ДобавитьФайл (КаталогПрограммы () + “ragent.exe” );
Возврат Хеш.ХешСумма ;
КонецФункции

В платформе редакции 8.3.10+ в методе Добавить() объекта ХешированиеДанных стало возможным использовать поток двоичных данных, что значительно упростило их использование в решении различных прикладных задач по обновлению хеш-сумм.

Работа с защищенными версиями протоколов SMTP/POP3

В платформе 8.3 появилась возможность использовать защищенные версии протоколов SMTP/POP3 (встречаются термины SMTPS/POP3S или SSLSMTP/SSLPOP3 ).

Для объекта ИнтернетПочтовыйПрофиль реализованы новые свойства:

  • ИспользоватьSSLSMTP ;
  • ИспользоватьSSLPOP3 ;
  • ТолькоЗащищеннаяАутентификацияSMTP ;
  • ТолькоЗащищеннаяАутентификацияPOP3 .

Свойства АутентификацияSMTP и АутентификацияPOP3 объекта ИнтернетПочтовыйПрофиль , а также перечисления СпособSMTPАутентификации и СпособPOP3Аутентификации использовать не рекомендуется – они поддерживаются для совместимости.

Использование защищенного протокола SMTPS дает возможность отправлять почту из , пользуясь почтовым ящиком Google .

Рассмотрим пример. На форме расположим поля для ввода темы письма и адреса получателя, а для ввода текста письма – поле форматированного документа.

Для увеличения нажмите на изображение.

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

&НаКлиенте
Процедура Отправить (Команда ) Почта = Новый ИнтернетПочта ; Профиль = Новый ИнтернетПочтовыйПрофиль ;
Профиль.АдресСервераSMTP = “smtp.googlemail.com” ;
Профиль.ПользовательSMTP = “[email protected]” ;
Профиль.ПарольSMTP = “PASSWORD” ;
Профиль.ИспользоватьSSLSMTP = Истина ;
Профиль.ПортSMTP = 465 ; Попытка
Почта.Подключиться (Профиль );
Исключение
Сообщить (ОписаниеОшибки ());
Возврат ;
КонецПопытки ; ПочтовоеСообщениеТекст = “” ;
Вложения = Новый Структура ;
Текст.ПолучитьHTML (ПочтовоеСообщениеТекст , Вложения ); ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение ;
ПочтовоеСообщение.Получатели.Добавить (Кому );
ПочтовоеСообщение.Тема = Тема ;
ПочтовоеСообщение.Тексты.Добавить (ПочтовоеСообщениеТекст ,
ТипТекстаПочтовогоСообщения.HTML ); Почта.Послать (ПочтовоеСообщение ); Почта.Отключиться ();
КонецПроцедуры

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

В редакции 8.3.9 данное поведение изменилось, и теперь метод Послать() возвращает соответствие, ключом которого является адресат, а значением – диагностика от почтового сервера. Это позволяет точно определить причины неудачной отправки почтового сообщения каждому из адресатов. В режиме совместимости с версией 8.3.8 поведение не изменилось.

Двусторонняя печать

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

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

Во встроенном языке появились системные перечисления:

  • ТипДвустороннейПечати (Нет, ПереворотВверх, ПереворотВлево);
  • (Авто, ЗеркальноСверху, ЗеркальноСлева, НеИспользовать).

А у объектов ТабличныйДокумент и ГрафическаяСхема появились свойства ДвусторонняяПечать и ЧередованиеРасположенияСтраниц , при помощи которых можно изменять расположение напечатанных страниц.

В редакции платформы 8.3.9 у системного перечисления ТипДвустороннейПечати добавилось новое значение ИспользоватьНастройкиПринтера . Выбор данного значения позволил использовать настройки принтера при печати документов системы. В режиме совместимости с версией 8.3.8 поведение не изменилось и соответствующие настройки принтера игнорируются.

Диалог публикации информационной базы на веб-сервере сделан более функциональным. Теперь публикация из конфигуратора позволяет задавать все параметры файла default.vrd .

Для диалога публикации веб-клиента и Web-сервисов через конфигуратор реализована:

  • возможность управления доступностью Web-сервисов по умолчанию (атрибут pointEnableCommon элемента ws );
  • возможность управления исполнением фоновых заданий в файловом варианте (атрибут allowexecutescheduledjobs элемента ws ).

Если флажок “Публиковать Web-сервисы по умолчанию” на закладке “Основные” установлен, то при обновлении публикации выбранные Web-сервисы будут опубликованы автоматически.

В противном случае Web-сервисы будут отмечены как непубликуемые. Этому флажку соответствует атрибут pointEnableCommon элемента ws в файле default.vrd , предназначенном для настройки веб-клиента и Web-сервисов.

Атрибут pointEnableCommon элемента ws отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования (атрибут enable элемента point ).

Если атрибут имеет значение true , то все Web-сервисы, для которых явно не указано значение атрибута enable элемента point , будут разрешены для использования.

В противном случае использование таких Web-сервисов будет запрещено.

Настройка “Фоновые задания в файловом режиме” соответствует атрибуту allowexecutescheduledjobs элемента ws в файле default.vrd .

Атрибут allowexecutescheduledjobs управляет возможностью исполнения регламентных заданий расширением веб-сервера для файлового варианта информационной базы.

Атрибут может принимать следующие значения:

  • off – в этом случае расширение веб-сервера не будет выполнять регламентные задания. Выполнять регламентные задания будет клиентское приложение (если таковое существует), которое подключается к информационной базе напрямую, без использования веб-сервера.
  • force – в этом случае расширение веб-сервера будет выполнять регламентные задания.
    Если значение этого атрибута не задано, то регламентные задания будет выполнять то приложение, с помощью которого будет осуществлено первое подключение к информационной базе.

Окно публикации на веб-сервисе в актуальном релизе платформы стало еще более удобным и эргономичным. Теперь параметры, описывающие OpenID-аутентификацию, вынесены на отдельную вкладку.

Нумерация объектов информационной базы

В платформе 8.3 переработан механизм автоматической нумерации объектов информационной базы. Контроль уникальности номера или кода (в том числе и полученного в результате автоматической генерации номера или кода) всегда производится во время записи объекта.

В текст сообщения о нарушении уникальности номера или кода добавлено указание, какой номер или код не уникален.

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

Агрегатные функции языка выражений системы компоновки данных

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

  • Каждый();
  • Любой();
  • СтандартноеОтклонениеГенеральнойСовокупности();
  • СтандартноеОтклонениеВыборки();
  • ДисперсияВыборки();
  • ДисперсияГенеральнойСовокупности();
  • КовариацияГенеральнойСовокупности();
  • КовариацияВыборки();
  • Корреляция();
  • РегрессияНаклон();
  • РегрессияОтрезок();
  • РегрессияКоличество();
  • РегрессияR2();
  • РегрессияСреднееX();
  • РегрессияСреднееY();
  • РегрессияСреднееSXX();
  • РегрессияСреднееSYY();
  • РегрессияСреднееSXY().

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

Для увеличения нажмите на изображение.

Как видно по рисунку, в выпадающем списке нет новых функций, однако если ввести их вручную, то сообщения об ошибке не будет, а отчет будет сформирован:

Также представляет интерес новая функция КлассификацияABC() . Результатом работы функции будет номер класса, начиная с 1 (1 соответствует классу А, 2 – классу B, 3 – классу C и т.д.).

Продемонстрируем работу этой функции. Создадим новый внешний отчет “Классификация товаров” на основе запроса:

ВЫБРАТЬ
РасходТовараТовары.Товар ,
РасходТовараТовары.Количество
ИЗ
Документ.РасходТовара.Товары КАК РасходТовараТовары

Определим новое вычисляемое поле Класс :

Для увеличения нажмите на изображение.

Произведем настройку ресурсов следующим образом:

Для увеличения нажмите на изображение.

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

В заключение отметим, что от редакции к редакции в платформе 1С 8.3 механизм СКД постоянно улучшается и дорабатывается, и в рамках нашей “новичковой” статьи данные изменения привести в полном виде не представляется возможным. Да это и кажется излишним, т.к., работая на актуальной версии платформы, вы всегда можете воспользоваться различными справочными системами для помощи с разбором того или иного аспекта работы данного механизма.

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

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

Платформы : 1С:Предприятие 8.3, 1С:Предприятие 8.2, 1С:Предприятие 8.1
Конфигурации : Все конфигурации

2012-11-13
53989

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

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

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

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

Объект 1С, который называется "Регламентные задания" — дает возможность выполнить обработку информации не после возникновения проблемы, а по расписанию. В конфигураторе, регламентное задание является способом задать настройки и установить расписание. Кроме этого, существует возможность в последствии изменять расписание в режиме 1С Предприятие.

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

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

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

Добавление регламентного задания

Регламентные задания расположены в — Конфигуратор — Общие — Регламентные задания. Добавьте новое "задание" и укажите имя. Дальше, необходимо зайти в свойства «Задания». И выбрать Имя метода. Здесь, нужно указать функцию обработчика, так же, как это происходит в подписке на событие. Данная функция будет расположена в общем модуле и обозначена "птичкой" Сервер в свойствах. Это значит, что необходимый модуль требуется добавить заранее.

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

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

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

Мониторинг и средства управления регламентным заданием 1С

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

С ее помощью можно осуществлять следующие действия:

Включать и выключать регламентное задание;

Назначать и изменять расписание;

Обозначить имя пользователя, с помощью которого будет выполняться регламентное задание;

Видеть выполненные задачи (когда и с каким результатом), а также, ошибки задания;

Регламентное задание и копии баз данных

При использовании серверной 1С, может возникнуть такой момент:

Для программирования необходимо сделать копию рабочей базы;

Необходимость работы в копиях базы (тестирование);

По каким-то причинам не включено регламентное задание в тестовой базе.

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

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

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

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

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

  • Настроить своевременное допреведение документов;
  • Рассчитать остатки и итоги;
  • Обеспечить периодичность почтовой рассылки;
  • Проверить и удалить неактуальные данные.

Фоновое и регламентное задание – что это и где настраивается

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

Фоновое задание – действие, порожденное регламентной операцией и не требующее непосредственного участия пользователя.

Создание регламентного задания происходит в режиме конфигуратора:

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

Рис.2

  • Напротив надписи «Расписание» (Рис. 2) есть надпись «Открыть», нажатие на которую открывает окно настройки времени и периодичности выполнения обрабочика (Рис.3);

Рис.3

  • Также необходимо заполнить «Имя метода» (сюда будет введено название процедуры, вызываемой из общего модуля и описывающей алгоритм поведения программы);
  • Поля «Наименование» и «Ключ» позволяют группировать объекты;
  • Установленный флажок «Использование» указывает на активность регламентной операции;
  • «Предопределенное» следует установить, если обработчик должен запуститься сразу после его добавления в базу в противном случае запуск можно произвести из соответствующей обработки (о ней ниже);
  • Параметры «Количество повторов» и «Интервал повторов» описывают поведение программы в случае возникновения исключительной ситуации при выполнении фонового задания.

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

Особенности фоновых заданий

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

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

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

Особенности работы в клиент-серверном режиме

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

Фоновые задания в файловом режиме

До версии платформы 8.3.3.641 работа с фоновыми заданиями в файловом варианте представляла некоторые трудности:

  1. Необходимо было запускать отдельный сеанс, который бы круглосуточно работал, заменяя собой планировщик;
  2. Этот сеанс должен был периодически выполнять метод ВыполнитьОбработкуЗаданий().

После обновления каждый старт толстого и тонкого клиентов, в случае если в настройках запуска (Рис.4) в поле «Дополнительные » указан ключ AllowExecuteScheduledJobs, инициирует дополнительный поток подключения к базе, который ни как не влияет на работу пользователя, а занимается только выполнением фоновых операций.

Рис.4

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

Как отключить регламентные задания

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

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

Кроме этого на дисках ИТС имеется специальная обработка «Консоль заданий», позволяющая редактировать расписание фоновых процессов и менять их активность.

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

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

Берусь утверждать, что классический манник на кефире - самый простой десертный пирог в русской кухне. Вариаций приготовления у нашего...

Легкий рецепт пирога должен обязательно храниться в кулинарных книгах всех хозяек. Ведь не всегда есть возможность пойти в магазин и...
Рецепты пирогов с овсяными хлопьями и овсяной мукой обладают бОльшей пользой, потому как овес полезнее пшеницы. Пироги с овсяными...
Маленькие рулетики из лаваша с сыром и зеленью - вкусная и сытная закуска. Ее можно употреблять с чаем, кофе, пивом. Весь процесс...
Калорийность: 181 Время приготовления: 60 мин Хорошие хозяйки в заботе о здоровье своих близких готовят только полезную еду. Но как...
Рис с замороженными овощами - это легкое и быстрое блюдо, которое может спасти любую хозяйку, если времени на готовку мало и не хочется...
В прошлой статье я показал вам простой рецепт варенья из абрикосов . Сегодня мы посмотрим, как можно приготовить консервированные...