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

Головна / 2 Cool Reader

Платформи: 1С: Підприємство 8.3, 1С: Підприємство 8.2, 1С: Підприємство 8.1
Зміни: Усі конфігурації

2012-11-13
53852

У документообігу є завдання, які вимагають періодичного виконання — наприклад, за двадцятими числами, або щодня. Як правило, у компаніях спеціально для цього, створюються певні правила, в яких зазначено, коли і як має виконуватися необхідне завдання, і хто має проконтролювати процес. Такі завдання виконуються згідно з регламентом і називаються регламентованими.

Досить часто, в ІТ дотримується регламенту при моніторингу. Такий метод добре знайомий адміністраторам, тому що для цього існують спеціальні програми, що застосовуються для періодичної перевірки працездатності мережної інфраструктури та серверів. Про виявлені проблеми вони сповіщають адміністратора за допомогою СМС, або електронного листа.

Схожа система діє і для веб-майстрів, при цьому доступність сайту перевіряється протягом доби. За допомогою механізму "Регламентні завдання" в 1С здійснюються завдання моніторингу, а також періодичні завдання, які виконуються за розкладом в автоматичному режимі в 1С. Розглянемо докладніше цю тему.

Регламентні завдання 1С

Об'єкт 1С, який називається "Регламентні завдання", дає можливість виконати обробку інформації не після виникнення проблеми, а за розкладом. У конфігураторі, регламентне завдання є способом задати налаштування та встановити розклад. Крім цього, існує можливість згодом змінювати розклад у режимі 1С Підприємство.

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

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

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

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

Регламентні завдання розташовані в Конфігуратор Загальні Регламентні завдання. Додайте нове "завдання" та вкажіть ім'я. Далі, необхідно зайти у властивості «Завдання». І вибрати ім'я методу. Тут потрібно вказати функцію обробника, так само, як це відбувається у передплаті на подію. Ця функція буде розташована в загальному модулі та позначена "пташкою" Сервер у властивостях. Це означає, що необхідний модуль потрібно додати заздалегідь.

Найменування завдання у Властивості регламентного завдання дозволяє визначити його назву, яка далі фігуруватиме в засобах управління завданнями. Функція Властивості регламентного завдання є ключем, що дозволяє групувати кілька різних регламентних завдань. При цьому одночасно можна запустити лише одне завдання з однаковим значенням ключа. Тут значення може бути довільним, але заповнювати його обов'язково, тому що порожнє значення не враховується системою.

У Бухгалтерії редакції 2.0, яка є типовою конфігурацією, регламентні завдання, такі як: "Перерахунок підсумків" та "Оновлення конфігурації" є зумовленими, а такі, як наприклад "Відкладені рухи" та "Обмін даними" - не зумовленими.

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

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

За керування регламентним завданням відповідає типова обробка "Консоль завдань", яку можна знайти на дисках ІТС. Ця обробка є універсальною зовнішньою типовою обробкою 1С. Як правило, вона не входить у конфігурацію, а купується окремо.

З її допомогою можна здійснювати такі дії:

Вмикати та вимикати регламентне завдання;

Призначати та змінювати розклад;

Позначити ім'я користувача, за допомогою якого виконуватиметься регламентне завдання;

Бачити виконані завдання (коли і з яким результатом), а також помилки завдання;

Регламентне завдання та копії баз даних

При використанні серверної 1С, може виникнути такий момент:

Для програмування потрібно зробити копію робочої бази;

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

З якихось причин не включено регламентне завдання у тестовій базі.

Якщо одна з таких ситуацій виникла під час виконання завдань регламентним завданням, пов'язаним лише зі своєю базою даних, то це не несе за собою негативних наслідків. Але часто регламентне завдання може зберігати файли, або інші дані, надсилати електронні листи, проводити обмін. У такому разі може виникнути плутанина між результатами роботи «завдання» та копіями. Щоб цього не відбувалося, необхідно відключити «завдання» в консолі управління сервером.

Виконані та не виконані регламентні завдання

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

Останній фактор є особливо важливим, тому що якщо модуль не виконується на сервері, то і завдання не може бути виконане в принципі. Щоб перевірити, необхідно запустити одне завдання та оцінити результат.

Напевно, кожному програмісту 1С 8.3 рано чи пізно доводилося налаштовувати виконання певних завдань за розкладом. Нижче я дам докладний опис даних механізмів, сподіваюся, це буде корисною інформацією для програмістів-початківців 1С. Це дуже зручно, адже не вимагає дій від людини, регламентне завдання налаштовується 1 раз і працює за Вашим розкладом.

Розгорнуту інструкцію на прикладі Ви знайдете далі.

Що таке регламентні та фонові завдання у 1С

  • Регламентні завдання- Це спеціальний механізм 1С підприємства 8.3, призначений для виконання певної дії за заданим розкладом.
  • Фонове завдання- об'єкти, що породжуються регламентним завданням, які безпосередньо виконує закладену дію без участі користувача або програміста 1С 8.2.

Механізм регламентних та фонових завдань працює у клієнт-серверному режимі роботи (SQL), завдяки функціоналу СУБД. Якщо у вас файлова БД, то завдання також можна налаштувати, але трохи за іншим принципом.

Налаштування фонових завдань у клієнт-серверному режимі роботи 1С

Спочатку створимо новий об'єкт метаданих — регламентне завдання. Я назву своє завдання «ЗавантаженняКурсовВалют». Розглянемо палітру властивостей даного об'єкта конфігурації:

Отримайте 267 відеоуроків з 1С безкоштовно:

  • Ім'я методу— шлях до процедури, яка виконуватиметься у фоновому завданні за розкладом. Процедура повинна знаходитись у загальному модулі. Рекомендується не використовувати типові, а створити свій. Не забудьте, що фонові завдання виконуються на сервері!
  • Використання- Ознака використання регламентного завдання.
  • Зумовлене- Вказує, чи є регламентне завдання зумовленим. Якщо хочете, щоб регламентне завдання запрацювало відразу після приміщення в БД, вкажіть цю ознаку. В іншому випадку вам необхідно буде використовувати обробку Консоль завдань або викликати запуск завдання програмно.
  • Кількість повторів при аварійному завершенні завдання- Скільки разів виконано перезапуск фонового завдання, якщо воно було виконано з помилкою.
  • Інтервал повтору при аварійному завершенні завдання— з якою періодичністю буде виконано перезапуск фонового завдання, якщо його було виконано з помилкою.

І найцікавіше налаштування Розклад:

Тут налаштовується інтервал запуску процедури, вказаної у полі «Ім'я методу». Допустимо я налаштував

Увага!Не забудьте вимкнути блокування виконання регламентних та фонових завдань на рівні СУБД!

Зробити це можна в утиліті адміністрування клієнт-серверного варіанта або під час створення нової БД:

Налаштування регламентних завдань у файловому режимі роботи 1С

У файловому режимі налаштування таких завдань дещо складніше. Для такого завдання має бути запущено окрему сесію програми 1С. Найчастіше це вирішується закладом «технічного» користувача, сеанс якого завжди запущений.

У файловому режимі ініціалізація регламентного завдання відбувається під час запуску методу «Виконати ОбработкуЗаданий()».

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

ПідключитиОбробникОчікування( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • Ім'я процедури- Ім'я процедури, що підключається як обробник очікування. Ім'я процедури, що експортується, модуля керованого додатка (модуля звичайної програми) або глобального загального модуля. Процедура повинна розташовуватись на клієнті.
  • Інтервал- Період між виконаннями операцій в секундах.
  • Одноразовояк виконувати завдання, один раз чи ні.

ПідключитиОбробникОчікування, 3600);

Двохвилинне відео, в якому показано, як налаштувати регламентне завдання в конфігураторі 1С:

Напевно, жодна серйозна конфігурація на 1С 8.3 чи 8.2 не обійдеться без використання регламентних та фонових завдань. Вони дуже зручні, оскільки за чітко заданим розкладом виконуватимуться без втручання користувача та програміста.

Наприклад, вам потрібно раз на добу вам потрібно здійснювати обмін даними з іншою програмою. Використовуючи регламентні та фонові завдання, 1С зможе робити дані дії самостійно, наприклад, у неробочий час. Такий спосіб ніяк не вплине на роботу користувачів та допоможе заощадити час.

Для початку розберемося, що ж вони позначають і в чому їхня відмінність:

  • Регламентне завданнядозволяє запускати на виконання будь-які конкретні дії за заздалегідь налаштованим розкладом.
  • Фонове завдання- Це об'єкт, в якому містяться дії, що виконуються.

Припустимо, що наша фірма щось продає і має власний сайт, на якому розташовані ціни. Щодня ми хочемо їх вивантажувати для підтримки актуальності.

Відкрийте конфігурацію та додайте регламентне завдання.

Налаштування властивостей

Розглянемо найважливіші параметри, які необхідно заповнити у його властивостях.

  • В полі " Ім'я методу» вибирається та процедура якогось певного загального модуля, яка безпосередньо виконуватиметься. В ній будуть вказані всі дії щодо розвантаження цін на наш сайт. Зверніть увагу, що виконання відбуватиметься на сервері. Це логічно, адже регламентні операції виконуються без участі користувача.
  • Регламентне завдання можна відключати або вмикати за потребою. Не потрібно щоразу правити його розклад. Для цього на панелі властивостей встановіть або зніміть прапор « Використання».
  • Ще одним важливим є налаштування, чи буде це регламентне завдання зумовленим, чи ні. Обумовлені регламентні завдання запускаються автоматично. Якщо ця ознака не встановлена, вам потрібно буде запускати їх програмно, або скористатися обробкою «Консоль завдань» з ІТС.
  • Також ви можете вказати кількість повторів та інтервал між нимипри аварійному завершенні. Під аварійним завершенням маються на увазі ті ситуації, коли завдання не відпрацювали через виникнення помилки.

Налаштування розкладу

Завершальним кроком ми налаштуємо розклад нашого вивантаження на сайт за відповідним гіперпосиланням на панелі властивостей.

Перед вами відкриється типове налаштування розкладу 1С 8.3. Тут нема нічого складного. В рамках цього прикладу ми налаштували запуск нашого розвантаження цін на сайт щодня з п'ятої до сьомої ранку. Якщо регламентне завдання не встигне відпрацювати до 7:00, воно буде виконане вже наступного дня.

Блокування регламентних завдань

Запустіть стандартну утиліту «Адміністрування серверів 1С Підприємства» та відкрийте властивості тієї інформаційної бази, де ви створили регламентне завдання (для клієнт-серверних версій 1С).

У вікні (після введення логіну та пароля для доступу до ІБ) перевірте, щоб не було встановлено прапор на пункті «Блокування регламентних завдань увімкнено». Якщо ви зіткнулися ситуацією, коли завдання не відпрацьовує, насамперед перевіряйте це налаштування.

Так само можна повністю відключити регламентні завдання 1С 8.3. Для відключення конкретних фонових завдань можна скористатися вбудованою в останні релізи обробкою «Консоль фонових завдань».

Фонові та регламентні завдання у файловому режимі

У цьому режимі налаштування та запуск даних завдань набагато складніше організувати. Найчастіше створюється додатковий обліковий запис, сеанс якого завжди буде відкритий.

Активація регламентних завдань у разі проводиться під час використання методу «ВиконатиОбработкуЗаданий()».

Також ви можете скористатися наступною конструкцією:

Як ім'я процедури необхідно вказати ім'я клієнтської процедури, яка має виконатися. Інтервал показує, через скільки секунд буде здійснено виконання. Параметр «Одноразово» не є обов'язковим до заповнення. Він відображає, чи буде виконана ця процедура одноразово, або кілька разів.

Відстеження помилок у фонових завданнях

Подивитися хід виконання фонових завдань, а також наявність можливих помилок можна у журналі реєстрації. У фільтрі встановіть відбір додатку «Фонове завдання» і при необхідності виберіть важливість, наприклад, тільки «Помилки».

У журналі реєстрації будуть показані всі записи, що відповідають вашому відбору із зазначенням коментаря, за яким ви можете зрозуміти причину помилки.

При роботі в 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

Особливості виконання фонових завдань файловому та клієнт-серверному варіантах

Механізми виконання фонових завдань у файловому та клієнт-серверному варіантах різняться.

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

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

У клієнт-серверному варіантіДля виконання фонових завдань використовується планувальник завдань, який фізично перебуває у менеджері кластера. Планувальник для всіх поставлених у чергу на виконання фонових завдань отримує найменш завантажений робочий процес та використовує його для виконання відповідного фонового завдання. Робочий процес виконує завдання та повідомляє планувальник про результати виконання.

У клієнт-серверному варіанті є можливість блокування виконання регламентних завдань. Блокування виконання регламентних завдань відбувається у таких случаях:

  • На інформаційну базу встановлено явне блокування регламентних завдань. Блокування може бути встановлене через консоль кластера;
  • На інформаційну базу встановлено блокування з'єднання. Блокування може бути встановлене через консоль кластера;
  • Зі вбудованої мови викликаний метод ВстановитиМонопольнийРежим() з параметром Істина;
  • У деяких інших випадках (наприклад, при оновленні конфігурації бази даних).

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

© 2023 androidas.ru - Все про Android