Обработчик ожидания
-

Обработчик ожидания

0
53649
18.03.2020 Аскер Жансуев

Содержание:

1.      Варианты подключения Обработчика ожидания

2.      Ограничение механизма обработчика ожидания

 

Обработчик ожидания (формы клиентского приложения) – это процедура модуля формы с директивой компиляции &НаКлиенте, вызываемая с указанным интервалом механизмом платформы 1С, который включается с помощью метода формы клиентского приложения ПодключитьОбработчикОжидания.


Вызов метода доступен в тонком клиенте, веб-клиенте, толстом клиенте.

Параметры:

<ИмяПроцедуры> (обязательный) Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания.


<Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число). Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.


<Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания.

Истина – указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь.  

 

1.    Варианты подключения Обработчика ожидания

 

Варианты подключения:

Вариант 1. Требуется однократный вызов выполнения какой-либо процедуры с директивой компиляции &НаКлиенте, отложенный на определенное время.


Вариант 2. Требуется регулярный вызов выполнения какой-либо процедуры с директивой компиляции &НаКлиенте с указанной периодичностью. 

 

2.    Ограничение механизма обработчика ожидания

 

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

 

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


Но если требуется выполнение с помощью данного механизма платформы 1С какой-либо процедуры с директивой компиляции, отличной от директивы &НаКлиенте (например, процедуры модуля данной формы или любой доступной экспортной процедуры конфигурации), то можно просто осуществлять вызов такой процедуры из процедуры-обработчика ожидания. Это справедливо и для случая, когда требуется осуществлять через данный механизм платформы 1С вызов какой-либо функции модуля данной формы или любой доступной экспортной функции конфигурации.

 

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

 

Подключение процедуры-обработчика ожидания для однократного выполнения через указанный интервал:

 
&НаКлиенте
Процедура ПриОткрытии(Отказ)
        // Подключение процедуры-обработчика ожидания для однократного выполнения через интервал в 30 секунд.
        ПодключитьОбработчикОжидания("НашаПроцедураОбработчикОждидания", 30, Истина); 
КонецПроцедуры
 
&НаКлиенте
Процедура НашаПроцедураОбработчикОждидания()
        // Вызов процедуры с директивой компиляции, отличной от директивы &НаКлиенте,
        // через процедуру-обработчик ожидания.
        ПроцедураВызываемаяИзОбработчикаОжиданияВыполняемаяНаСервере();
        
        // Вызов функции, через процедуру-обработчик ожидания.
        ФункцияВызываемаяИзОбработчикаОжидания();
КонецПроцедуры


Подключение процедуры-обработчика ожидания для регулярного выполнения через указанный интервал:

 
&НаКлиенте
Процедура ПриОткрытии(Отказ)
        // Подключение процедуры-обработчика ожидания для регулярного выполнения через интервал в 30 секунд.
        ПодключитьОбработчикОжидания("НашаПроцедураОбработчикОждидания", 30); 
КонецПроцедуры
 
&НаКлиенте
Процедура НашаПроцедураОбработчикОждидания()
        // Вызов процедуры с директивой компиляции, отличной от директивы &НаКлиенте,
        // через процедуру-обработчик ожидания.
        ПроцедураВызываемаяИзОбработчикаОжиданияВыполняемаяНаСервере();
        
        // Вызов функции, через процедуру-обработчик ожидания.
        ФункцияВызываемаяИзОбработчикаОжидания();
КонецПроцедуры
 

Специалист компании «Кодерлайн» 

Аскер Жансуев.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.