четверг, 1 сентября 2016 г.

Процедура обработки выполнения через определенное количество секунд

Внутренняя процедура обработки выполнения процедуры  через определенное количество секунд


УправляемаяФорма (ManagedForm)
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:

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

<ИмяПроцедуры> (обязательный)

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

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

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

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

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Примечание:

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



пример
Процедура ПослеНачалаРаботыСистемы() Экспорт

Если ТребуетсяПоказРекомендацииПоОбъемуОперативнойПамяти() Тогда
ПодключитьОбработчикОжидания("ПоказатьРекомендациюПоОбъемуОперативнойПамяти", 10, Истина);
КонецЕсли;

КонецПроцедуры

или еще пример

// Подключить обработчик ожидания КонтрольРежимаЗавершенияРаботыПользователей или.
// ЗавершитьРаботуПользователей в зависимости от параметра УстановитьБлокировкуСоединений.
//
Процедура УстановитьОбработчикиОжиданияЗавершенияРаботыПользователей(Знач УстановитьБлокировкуСоединений) Экспорт

УстановитьПризнакРаботаПользователейЗавершается(УстановитьБлокировкуСоединений);
Если УстановитьБлокировкуСоединений Тогда
// Поскольку блокировка еще не установлена, то при входе в систему
// для данного пользователя был подключен обработчик ожидания завершения работы.
// Отключаем его. Так как для этого пользователя подключается специализированный обработчик ожидания
// "ЗавершитьРаботуПользователей", который ориентирован на то, что данный пользователь
// должен быть отключен последним.

ОтключитьОбработчикОжидания("КонтрольРежимаЗавершенияРаботыПользователей");
ПодключитьОбработчикОжидания("ЗавершитьРаботуПользователей", 60);
ЗавершитьРаботуПользователей();
Иначе
ОтключитьОбработчикОжидания("ЗавершитьРаботуПользователей");
ПодключитьОбработчикОжидания("КонтрольРежимаЗавершенияРаботыПользователей", 60);
КонецЕсли;

КонецПроцедуры



Пример

&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания("ОбновитьСостоянияРаспоряженийНаОтборКлиент",120);

Комментариев нет:

Отправить комментарий