1С фонові завдання

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

  • Налаштувати своєчасне допреведеніе документів;
  • Розрахувати залишки і підсумки;
  • Забезпечити періодичність поштової розсилки;
  • Перевірити і видалити неактуальні дані.

Фонове і регламентне завдання - що це і де налаштовується

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

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

Створення регламентного завдання відбувається в режимі конфігуратора:

  • У вікні дерева конфігурації знаходимо відповідну гілку (Рис.1);
  • Натискаємо кнопку додати;
  • У вікні необхідно задати ім'я, що дозволяє ідентифікувати об'єкт в конфігурації;
  • Навпроти напису «Розклад» (Рис. 2) є напис «Відкрити», натискання на яку відкриває вікно настройки часу і періодичності виконання обрабочіка (Рис.3);
  • Також необхідно заповнити «Ім'я методу» (сюди буде введено назву процедури, що викликається із загального модуля і описує алгоритм поведінки програми);
  • Поля «Найменування» і «Ключ» дозволяють групувати об'єкти;
  • Встановлений прапорець «Використання» вказує на активність регламентної операції;
  • «Приречення» слід встановити, якщо обробник повинен запуститися відразу після його додавання в базу в іншому випадку запуск можна зробити з відповідної обробки (про неї нижче);
  • Параметри «Кількість повторів» і «Інтервал повторів» описують поведінку програми в разі виникнення виняткової ситуації при виконанні фонового завдання.

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

Особливості фонових завдань

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

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

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

Особливості роботи в клієнт-серверному режимі

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

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

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

  1. Необхідно було запускати окремий сеанс, який би цілодобово працював, замінюючи собою планувальник;
  2. Цей сеанс повинен був періодично виконувати метод ВиполнітьОбработкуЗаданій ().

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

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

Як відключити регламентні завдання

Невикористані завдання можна відключити, просто знявши у властивостях об'єкта галочку «Використовувати».

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

Крім цього на дисках ІТС є спеціальна обробка «Консоль завдань», що дозволяє редагувати розклад фонових процесів і міняти їх активність.

Схожі статті