Имя: Пароль:
1C
 
Сделать ПодключитьОбработчикОжидания "быстрее"
0 okosv
 
16.03.10
07:31
Приветствую всех.
Можно ли сделать так чтобы процедура таймера запускалась чаще чем каждые 1 секунду?
Спасибо за внимание
1 чувак
 
16.03.10
07:33
Вроде там в миллисекундах...
2 Невский Александр
 
16.03.10
07:33
ПодключитьОбработчикОжидания (AttachIdleHandler)
Глобальный контекст
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:
ПодключитьОбработчикОжидания(<Имя процедуры>, <Интервал>, <Однократно>)
Параметры:
<Имя процедуры> (обязательный)
Тип: Строка. Имя экспортируемой процедуры модуля приложения или глобального общего модуля.
<Интервал> (обязательный)
Тип: Число. Интервал времени с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.
<Однократно> (необязательный)
Тип: Булево. Признак однократного выполнения обработчика ожидания.
Истина - указанный обработчик ожидания будет выполнен один раз.
Значение по умолчанию: Ложь
Описание:
Подключает вызов указанной экспортируемой процедуры модуля приложения или глобального общего модуля через определенный интервал времени. Вызов будет осуществляться только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Вызов обработчика ожидания продолжается, пока система не завершит работу или пока не будет вызван метод глобального контекста ОтключитьОбработчикОжидания.
Пример:
Процедура ОтчетОпродажахЗаДень()
// ...
КонецПроцедуры

//...
ПодключитьОбработчикОжидания("ОтчетОпродажахЗаДень", 60);
3 Невский Александр
 
16.03.10
07:34
Параметр интервал - задай
4 Фокусник
 
16.03.10
07:43
(3) "Интервал времени с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина."

Без рекурсии не получится :)


Процедура Тест()
   Сообщить(ТекущаяДата());
   
   ПодключитьОбработчикОжидания("Тест", 0.5, Истина);
   
КонецПроцедуры

ПодключитьОбработчикОжидания("Тест", 0.5, Истина);
5 okosv
 
16.03.10
09:42
Спасибо всем.
Я просто пытался оказывается сделать так:

ПодключитьОбработчикОжидания("Тест", 0.5);

без третьего параметра ;)))
6 Gepard
 
16.03.10
09:57
(5) целочисленный параметр и так дает возможность запустить процедуру максимум 10 раз в секунду, разве не будет дольше каждый раз делать подписку на одноразовое событие?
7 Gepard
 
16.03.10
10:07
(6) + кстати, а есть ли смысл в такой штуке?
в описании написано, что выполняться будет только если ничего не делает, т.е. как я понимаю, он не запустит второй раз пока первая вызванная процедура не завершит работу?
8 okosv
 
16.03.10
11:20
(7) да, что мне и нужно
кстати, кто-нибудь писал шлюз для платежных систем?
между 1С и платежной системой?
кто как решал?
сделал внешнюю обработку, которая каждые N сек проверяет очередь на платежи и проводит их, если есть
между шлюзом и внешней обработкой access'овская база