Имя: Пароль:
1C
1С v8
Возникла необходимость в реализации задержки(таймера)
0 kit7772010
 
03.04.14
18:12
Всем привет. Возникла необходимость в реализации задержки(таймера) для выполнения задачи в бизнес-процессе, далее БП. Есть Определенная последовательность действий в БП при выполнении которых должно пройти время. Т.е. чтобы человек который стартовал БП мог уйти от компьютера, а следующая по карте задача выполнилась с определенным интервалом. БП на упр. формах.
1 kit7772010
 
03.04.14
18:14
2 Heckfy
 
03.04.14
18:18
3 Wobland
 
03.04.14
18:34
предлагаю Сигнал(). замерить длительность звучания, разделить нужное время задержки на него, выводить в цикле
4 wade25
 
03.04.14
18:46
(0) Ужасное решение, не взлетит. Я как понимаю, у Вас БП идет по параллельным веткам и нужно ожидание одного этапа от другого?
5 Лефмихалыч
 
03.04.14
18:48
может просто не стартовать процесс, пока он не нужен?
6 y22-k
 
03.04.14
18:54
(0) к времени сервера привязаться если время меньше время начала + время паузы тогда не продолжать
7 y22-k
 
03.04.14
18:55
(6) хотя это шляпа мне кажется
8 Лефмихалыч
 
03.04.14
18:56
предлагаю не маяться муйнёй, а вместо этого запускать процесс регламентным заданием, когда в системе появляется что-то, что однозначно говорит о необходимости старта процесса.
9 Лефмихалыч
 
03.04.14
18:58
а, или загвоздка не в том, чтобы задержка была, а втом, чтобы задача САМА выполнилась?
Тогда ее надо абресовать на служебного пользователя и регзаданием мониторить наличие задач этого пользователя и при наличии делать, что нужно и их выполнять.
10 kit7772010
 
03.04.14
20:38
вот карта конкретного БП http://pixs.ru/showimage/BPTaymerjp_9283911_11533501.jpg
11 Лефмихалыч
 
03.04.14
20:41
(10) достаточно добавить срок в задачу и регламентное задание, которое будет пасти этот срок и стартовать процессы по обработке нарушений срока.
Не изобретайте волосопедов, возьмите Документооборот, там это и многое другое реализовано
12 kit7772010
 
03.04.14
20:42
Мысли по поводу регл задания были, просто думал может есть какая-то альтернатива.
13 Лефмихалыч
 
03.04.14
20:48
скажу больше - в ДО вот это "подождать до срока, потом отправить клюяузу" можно сделать, не открывая конфигуратор, с любым процессом
14 MadHead
 
03.04.14
20:58
Я бы сделал через обработчик ожидания. При выполнении задачи стартуешь обработчик ожидания с однократным выполнением с таймером в 3 секунды. в нему уже продолжаешь работу. Единственное что иногда это может оказаться не 3 секунды, но я думаю не смертельно
15 MadHead
 
03.04.14
20:59
на сервере можно и фоновое стартовать
16 Лефмихалыч
 
03.04.14
21:01
(14) угу. А потом объясняй начальнику, что он не имеет права закрывать окно 1С после выполнения свой задачи, как минимум 3 часа к ряду
17 Tateossian
 
04.04.14
00:00
Процедура глВремя_Задержка(чСекунд) Экспорт

    ИмяПутьСкрипта = КаталогПользователя()+"sleep.js";
    
    Скрипт = СоздатьОбъект("Текст");
    
    Скрипт.ДобавитьСтроку("WScript.Sleep("+Строка(1000*чСекунд)+");");
    
    Скрипт.Записать(ИмяПутьСкрипта);
    
    cmdLine="wscript.exe "+ИмяПутьСкрипта;
    
    WshShell = СоздатьОбъект("WScript.Shell");
    
    WshShell.Run(cmdLine, 0, -1);

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

Вот отсюда http://kb.mista.ru/article.php?id=98.
18 romix
 
04.04.14
01:48
///////////////////////////////////////////////////////////////////////
Процедура sleep(КолМиллесекунд) Экспорт
            wsh=Новый COMОбъект("WScript.Shell");
            wsh.run("ping -n 1 -w "+Формат(КолМиллесекунд,"ЧГ=")+" 0.0.0.1",0,-1);
            
    
КонецПроцедуры
19 romix
 
04.04.14
01:48
Также можно использовать ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
20 Arbeiten
 
04.04.14
09:58
(19) А разве это будет работать без запущенного клиента?
21 kit7772010
 
04.04.14
10:29
Да но эти функции зависят от ОС, если будет Linux, то походу только регл задания помогут.
22 kit7772010
 
04.04.14
10:30
(20) , тем более это не будет работать если клиент вырубится
23 kit7772010
 
04.04.14
17:23
Документооборот 8 КОРП, редакция 1.3 (1.3.3.5), в этом релизе конфы, в демке, в лоб не вижу таймера, может чет не то?
24 kit7772010
 
04.04.14
17:50
Насколько я понял это делается в РС НастройкаОтложенногоСтартаБизнесПроцессов, а потом регл задание уже обрабатывает все БП с отложенным стартом?
25 kit7772010
 
04.04.14
17:57
Но это отложенный старт БП, а как быть с точкой маршрута? если не весь БП, а только 1 задачу надо стартовать отложенной.