Имя: Пароль:
1C
1С v8
Пауза в обработке
0 Маленький Вопросик
 
07.08.14
05:35
Народ, подскажите, как сделать паузу - 5 сек. в форме обработки. Чтобы процессор не грузила на 100%?
1 Маленький Вопросик
 
07.08.14
05:36
управляемые формы
2 SailorCat
 
07.08.14
06:02
Начало = ТекущаяДата();
Пока не ТекущаяДата() >= Начало + 5 Цикл
КонецЦикла;
3 SailorCat
 
07.08.14
06:04
Хотя смысл задачи не очень ясен.
4 Wobland
 
07.08.14
06:08
предупреждение
5 Маленький Вопросик
 
07.08.14
06:11
(2) скрипт будет грузить процессор на 100%

надо типа

ping -n 5 127.0.0.1

только как засунуть это
6 SailorCat
 
07.08.14
06:16
Строка = "ping -n 5 127.0.0.1";
Шелл = Новый COMОбъект("WScript.Shell");
Шелл.Run(Строка, 0, -1);
7 Гобсек
 
07.08.14
06:41
(6)После выполнения этой команды 1С не остановит работу. ping будет выполняться сам по себе и 1С продолжит нагружать процессор.
8 Cube
 
07.08.14
06:43
Мой вариант:
ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
Пока ТекущаяУниверсальнаяДатаВМиллисекундах() - ВремяНачала < 5000 Цикл КонецЦикла;
9 SailorCat
 
07.08.14
06:48
(7) Ошибаетесь, все работает.
10 Гобсек
 
07.08.14
06:57
(9)Пробовал?
Хотя с другой стороны, процессор выделит ресурсы для команды ping и для 1С. И ресурсы ping могут быть использованы. Тут надо просто проверить на практике. Будет работать или нет.
11 SailorCat
 
07.08.14
07:03
(10) Да, пробовал.
12 jsmith82
 
07.08.14
07:03
Чо, после рана шелла 1с остановит-таки свою рабу?
13 Гобсек
 
07.08.14
07:04
(11)Буду иметь ввиду.
Интересно, может быть кто-то предложит вариант решения (0) не выходя из 1С.
14 Aleksey
 
07.08.14
07:30
А что обработка ожидания уже не катит?
15 Aleksey
 
07.08.14
07:34
16 Aleksey
 
07.08.14
07:39
ПодключитьОбработчикОжидания("ВторойАктМарлезонскогоБалета", 5, истина)
17 kochurovg
 
07.08.14
08:25
у меня раньше использовалась вот такая процедура :
Процедура Спать(СкокоСпать)                                    Экспорт
    Если СкокоСпать = 0 Тогда
        Возврат
    КонецЕсли;
    ПутьСкрипта = КаталогВременныхФайлов()+"SleepScript.vbs";
    СкриптФайл = Новый ТекстовыйДокумент;
    СкриптФайл.ДобавитьСтроку("WScript.Sleep("+Формат(СкокоСпать*1000, "ЧГ=0")+")");
    СкриптФайл.Записать(ПутьСкрипта, КодировкаТекста.OEM);
    WSHShell = Новый COMОбъект("WScript.Shell");
    WSHShell.Run("wscript.exe """+ПутьСкрипта+"""", 0, Истина);
    УдалитьФайлы(ПутьСкрипта);
КонецПроцедуры
18 Маленький Вопросик
 
07.08.14
08:46
да по-идее, если процессор 4=х ядерный, будет грузиться только 1 ядро
19 StaticUnsafe
 
07.08.14
09:31
ЗапуститьПриложение("timeout 5",,Истина);
20 hhhh
 
07.08.14
10:29
ПодключитьОбработчикОжидания("ОбработчикОжидания", 5, Истина);