Обробник очікування – виконання коду через заданий час, Все про програмування на 1С Підприємство
Навчання програмування на 1С
Обробник очікування – виконання коду через заданий час

У цій статті покажемо як у 1С виконувати код із заданою періодичністю з використанням функцій обробника очікування:
Обробник очікування – це механізм, який використовується на стороні клієнтської програми (тобто в формах користувача і т.п.). Його завдання – запустити процес, який виконає певні дії одноразово або через заданий інтервал часу. Оброблювач очікування виконує свої дії паралельно (у виділеному потоці) основної роботи користувача.
Синтаксис
Розглянемо синтаксис вищезгаданих функцій:
Підключити ОбробникОчікування( , , ) – Підключає виклик вказаної процедури 1С через певний інтервал часу.
- Ім'яПроцедури — Шлях до процедури, що експортується. Процедура повинна розташовуватись на клієнті та не містити параметрів.
- Інтервал — Інтервал (точність до 0,1 секунди) в секундах, через який буде здійснюватися виклик процедури.
- Одноразово — – Одноразово або багаторазово буде виконано код процедури, що підключається.
Вимкнути ОбробникОчікування( ) – Вимикає дзвінок процедури, яка була підключена раніше за допомогою Підключити ОбробникОчікування.
- Ім'яПроцедури — Шлях до процедури, яка має бути відключена.
Виклик обробника очікування триває, поки форма користувача не буде закрита або поки не буде викликана процедура Вимкнути Обробник Очікування.
Обробник очікування доступний лише на клієнті. Щоб викликати серверну функцію, необхідно звернутися до неї із клієнтського оточення.
Приклад виклику оброблювача очікування
Наведемо приклад роботи зобробником очікування:
У цьому прикладі обробник викликається з клієнта та виконує клієнтську процедуру, яка, у свою чергу, передає керування серверною процедурою.
Наприклад, ви хочете зробити за допомогою цього механізму таймер. І хочете, щоб була можливість викликати кілька таймерів за один раз. Вищенаведений код не дозволить вам викликати обробник кілька разів. Для цього можна зробити одну з таких речей:
- Щоразу створювати нову форму таймера, до якої прив'язана процедура, що виконується відповідно.
- Щоразу викликати новий обробник очікування (з іншим ім'ям). Наприклад: Обробити Очікування1, ОбробитиОчікування2, ОбробитиОчікування3…
За посиланням нижче можна завантажити приклад зовнішньої обробки очікування.