|
v7: Таймер или отсчет времени | ☑ | ||
---|---|---|---|---|
0
ЛюбопытнаяЯ
03.06.15
✎
16:48
|
Есть документ. Из него открывается обработка (модально для ввода значения и др.). Нужно, чтобы через некоторое время t - эта обработка закрывалась. Можно ли на форму документа или обработки вешать какой-нибудь таймер или счетчик времени, чтобы при наступлении времени Т, позакрывать ненужные окна?
|
|||
1
Heckfy
03.06.15
✎
16:51
|
ОбработкаОжидания
Не? |
|||
2
luter-89
03.06.15
✎
16:51
|
Если в 7-ке есть что-то похожее на ПодключитьОбработчикОжидания(), то можно
|
|||
3
ДенисЧ
03.06.15
✎
16:52
|
ВвестиЧисло(<Число>,<Подсказка>,<Длина>,<Точность>,<Таймаут>)
|
|||
4
ЛюбопытнаяЯ
03.06.15
✎
16:54
|
(3) ВвестиЧисло - таймаута нет
|
|||
5
ЛюбопытнаяЯ
03.06.15
✎
16:56
|
(1) С ОбработкойОжидания что-то не получается. Она вроде из глобальника работает. А Форма.ОбработкаОжидания(Имя,Время)- в отладчике не переходит к Процедуре Имя().
|
|||
6
ЛюбопытнаяЯ
03.06.15
✎
16:58
|
(3) Прошу прощения, есть таймаут. Но это окно мне не подходит. Мне нужно открывать свою обработку. И уже там нужен таймер
|
|||
7
ДенисЧ
03.06.15
✎
17:03
|
(6) ОбработкаОжидания(<?>,)
Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. |
|||
8
Зеленый пень
03.06.15
✎
17:05
|
Форма.ОбработкаОжидания() всю жизнь работало в 7.7
|
|||
9
ЛюбопытнаяЯ
03.06.15
✎
17:06
|
(6),(7) В обработке ПриОткрытии() пишу Форма.ОбработкаОжидания("Имя",5).
В глобальном: Процедура Имя() Сообщить(ТекущееВремя()); КонецПроцедуры И ничего не происходит. Что делаю не так? |
|||
10
ЛюбопытнаяЯ
03.06.15
✎
17:10
|
Процедура Имя() пробовала вставлять и в модуле обработки
|
|||
11
ДенисЧ
03.06.15
✎
17:11
|
Экспорт
|
|||
12
ЛюбопытнаяЯ
03.06.15
✎
17:11
|
И экспорт тоже пробовала
|
|||
13
ДенисЧ
03.06.15
✎
17:12
|
И тут во мне плавно просыпается Станиславский
|
|||
14
Масянька
03.06.15
✎
17:12
|
(12) Попробуйте Имя без кавычек.
|
|||
15
Масянька
03.06.15
✎
17:12
|
(13) Рано...
|
|||
16
luter-89
03.06.15
✎
17:13
|
(9) Отладчиком пользуетесь?
|
|||
17
ДенисЧ
03.06.15
✎
17:14
|
(14) Шта?
|
|||
18
ЛюбопытнаяЯ
03.06.15
✎
17:15
|
Еще раз описываю ситауцию.
Из документа открывается обработка путем: ОткрытьФормуМодально("Обработка.МояОбработка",Зн); Далее в Обработке: Процедура Имя() Сообщить(ТекущееВремя()); КонецПроцедуры Процедура ПриОткрытии() Форма.ОбработкаОжидания("Имя",5); КонецПроцедуры |
|||
19
Масянька
03.06.15
✎
17:16
|
(17) Предложение.
(18) 5 минут прошло? |
|||
20
ЛюбопытнаяЯ
03.06.15
✎
17:16
|
Процедура Имя()- пробовала и в глобальник писать и с Экспорт. В отладчике не дохожу до моей процедуры Имя()
|
|||
21
ДенисЧ
03.06.15
✎
17:17
|
Атшорт...
Обработка ожидания не работает в модальных формах |
|||
22
Масянька
03.06.15
✎
17:17
|
(17) Просто я обработкой ожидания не пользуюсь. У меня есть таймер :)
|
|||
23
Масянька
03.06.15
✎
17:17
|
(21) Шта?!
|
|||
24
ЛюбопытнаяЯ
03.06.15
✎
17:18
|
(19) ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах
|
|||
25
ДенисЧ
03.06.15
✎
17:18
|
(23) Поверь.
|
|||
26
ЛюбопытнаяЯ
03.06.15
✎
17:19
|
(22) Вот и я хочу таймер! Не подскажешь как сделать?
|
|||
27
Масянька
03.06.15
✎
17:19
|
(25) А я знаю :) Теперь и ты знаешь :)
|
|||
28
Масянька
03.06.15
✎
17:19
|
(26) Мыло в личке - реальное?
|
|||
29
luter-89
03.06.15
✎
17:19
|
||||
30
ДенисЧ
03.06.15
✎
17:19
|
(26) google://formex
|
|||
31
luter-89
03.06.15
✎
17:20
|
Обработка ожидания в системе 1С:Предприятие, как следует из документации, предназначена для периодического выполнения процедуры глобального модуля с заданным интервалом времени. Код для запуска будет выглядеть следующим образом:
ОбработкаОжидания("ОбновитьСчетчик_",1); Где "ОбновитьСчетчик_" - имя процедуры глобального модуля, которая будет запускаться с периодичностью в 1 сек. (второй параметр, равный 1) Но! Проблема в том, что запустить обработку ожидания можно только 1 раз. Повторный запуск приведет к отмене предыдущего. Другими словами, если Вы хотите сделать, к примеру, обработку-таймер для отсчета затраченного времени, то запустить можно только один таймер, т.к. запуск второго таймера приведет к остановке первого. А что делать если Вам надо запустить 2, 3 или больше таких таймеров одновременно? Или Вам надо еще при этом периодически сканировать состояние документов? Выход есть! Обработку ожидания надо запустить в контексте формы, чтобы отделить этот поток от глобального контекста. И тогда станет возможным периодический запуск процедуры локального модуля, т.е. процедуры, расположенной в модуле формы Вашей обработки. Код для запуска будет выглядеть следующим образом: Форма.ОбработкаОжидания("ОбновитьСчетчик_",1); Где "ОбновитьСчетчик_" - имя процедуры локального модуля формы обработки, которая будет запускаться с периодичностью в 1 сек. (второй параметр, равный 1) Таким образом, в каждой обработке можно запустить свою обработку ожидания, которая будет работать до тех пор, пока открыта форма. В прилагаемом к статье архиве находятся две одинаковых обработки-таймера в формате 1С 7.7. Запустите их поочереди и Вы увидите, что каждый таймер отсчитывает свое время и управляется независимо от своего двойника.... |
|||
32
luter-89
03.06.15
✎
17:21
|
Сносите 7-ку ставьте 8-ку)
|
|||
33
ЛюбопытнаяЯ
03.06.15
✎
17:21
|
(28) да, адрес действующий
|
|||
34
trdm
03.06.15
✎
17:22
|
(4) Релиз обновите. Или формекс подключите, у него есть функция закрытия окна по таймеру.
|
|||
35
trdm
03.06.15
✎
17:22
|
(4) Еть таймаут.
|
|||
36
trdm
03.06.15
✎
17:23
|
вЧисло = 10;
Если ВвестиЧисло(вЧисло,"вЧисло",10,2,5) = 1 Тогда КонецЕсли; Закрывается у мну в теч. 6 секунд. |
|||
37
ДенисЧ
03.06.15
✎
17:24
|
(35) (36) не тормози, с этим уже разобрались
|
|||
38
Масянька
03.06.15
✎
17:25
|
(33) Лови. Там лишнее нужно убрать, разбирайся.
|
|||
39
luter-89
03.06.15
✎
17:27
|
У кого еще 7-ка то стоит?
|
|||
40
Масянька
03.06.15
✎
17:27
|
+ (38) Получишь - маякни. А то у меня сегодня с почтой - беда...
|
|||
41
trdm
03.06.15
✎
17:48
|
(39) У зубров индустрии.
|
|||
42
ЛюбопытнаяЯ
03.06.15
✎
17:52
|
(38,40) Спасибо! Получила. Сижу разбараюсь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |