Имя: Пароль:
1C
 
Таймаут
0 AS_DANCE
 
28.05.09
16:39
Подскажите плиз, есть ли (и если есть то как называется) в 1С 8.х какая-либо возможность останавливать выполнение обработки на заданное количество времени. Грубо говоря чтобы итерации в цикле проходили только раз в секунду или в минуту?
1 Stepa86
 
28.05.09
16:40
зачем?
2 Stepa86
 
28.05.09
16:41
в смысле от контекста зависит =)
3 Allexe
 
28.05.09
16:42
ПодключитьОбработчикОжидания и ОтключитьОбработчикОжидания?
4 AS_DANCE
 
28.05.09
16:43
если база локально лежит? нет это не тема, нужно чтобы грубо говоря чтото выполнялось допустим в течении 10 секунд, потом ставилось на паузу, потом опять продолжало работать.
5 Stepa86
 
28.05.09
16:46
самое оно это (3), остальное не будет давать управление...
6 Allexe
 
28.05.09
16:49
(4) Честно говоря я 8 плохо. Но насколько я знаю там время выдается с часами и минутами. Т.е. можно замутить что-то типа ТекущаяМинута и потом крутить пустой цикл пока ТекущаяМинута не станет равна ТекущаяМинута+1 К примеру.?
7 Stepa86
 
28.05.09
16:50
(6) пустой цикл пипец как грузит систему... уж лучше Предупреждение() или Вопрос использовать
8 AS_DANCE
 
28.05.09
16:50
Это я тоже так думал, но 1С всеравно продолжает грузить сильно проц!
9 AS_DANCE
 
28.05.09
16:51
(7) Если 1С не активна то предупреждение будет висеть вечно. Хотя может и ошибаюсь.
10 Stepa86
 
28.05.09
16:52
(9) там таймаут выставляют... за диалог без таймаута принято бить табуреткой по йайцам...
11 Allexe
 
28.05.09
16:54
(10) Тоже интересный вариант с таймаутом.
12 Allexe
 
28.05.09
16:55
(0) А в чем конкретно смысл затеи? Может есть способ проще.
13 Fragster
 
гуру
28.05.09
16:57
14 bvn13
 
28.05.09
16:57
(9) у предупреждения и вопроса есть таймаут
15 Fragster
 
гуру
28.05.09
16:57
(13)+ а конкретно:
Процедура глПауза(Сек)
   scr = СоздатьОбъект("WScript.Shell"); // Новый CmoОбъект("WScript.Shell");
   scr.Run("ping 127.0.0.1 -n "+СокрЛП(Число(Сек)),0,1);
КонецПроцедуры
16 Stepa86
 
28.05.09
16:59
(15) 1Ска в текущем сеансе ведь не отдаст управление?
17 Fragster
 
гуру
28.05.09
17:02
(16) не понял... (15) - делает паузу в выполнении процедуры без загрузки процессора и без показывания окошек на заданное количество секунд
18 Allexe
 
28.05.09
17:03
(15) Красиво :)
19 Stepa86
 
28.05.09
17:03
(17) но в этот момент пользователь ничего в системе сделать не сможет?
20 AS_DANCE
 
28.05.09
17:03
(12) может и дураццкий смысл но чтобы 1С не сжирала во время долгих обработок все процессорное время, понимажение приоритета, тоже не интересно. (15) идяе очень хорошая, жаль нельзя меньше секунды установить.
21 Stepa86
 
28.05.09
17:05
(20) может стоит пооптимизировать долгую обработку?
22 Fragster
 
гуру
28.05.09
17:06
(19) не сможет
(21) например по восстановлению последовательности в фоновом режиме на сервере?
23 Fragster
 
гуру
28.05.09
17:07
(22)+ или по загрузки чего-то через ie.application крутить цикл по readystate
24 Stepa86
 
28.05.09
17:09
(23) используя обработчик ожидания можно ставить на паузу обработку с передачей управления сеансу. Просто мне кажется, что в (0) речь идет о самописной обработке
25 AS_DANCE
 
28.05.09
17:12
(24) да разницы нет самописную ставить на паузу или стандартную, за совет большое спасибо, буду пинговаться.
26 Fragster
 
гуру
28.05.09
17:13
(24) а зачем возвращать управление пользователю, если мы скачиваем из интернета данные, которые обработать надо? чтобы он обработку закрыл, потому что ничего не происходит? или дополнительные хуки на «приЗакрытии» вешать? в (15) самй простой код - не усложняющий и не разрывающий структуру обработки... хотя сам я писал с асинхронными событиями - но в v7 - для группового ввода на основании
27 Stepa86
 
28.05.09
17:16
(26) РазрешитьЗакрытие = Ложь; и пусть прогресс в фоне показывается, а пользователь чем хочет, тем занимается...
28 Fragster
 
гуру
28.05.09
17:19
(27) и доступность всех элементов управления тоже надо убрать
29 Stepa86
 
28.05.09
17:21
+(27) я не говорю, что метод плох, для каждой конкретной задачи нужен свой подход, и в (15) красивая реализация одного из методов? вот тут еще можно порытся и найти что нить http://www.google.ru/search?as_sitesearch=forum.mista.ru&q=Sleep
30 Stepa86
 
28.05.09
17:22
(28) подразумевается, что будет висеть форма с прогресс баром и текстовым полем с инфой о загрузке...
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан