Пауза в исполнении кода в 1С
В языке 1С нет команды паузы. Ну нет и всё тут! Парадигма: если чего то нет, что вам нужно, значит вы что то делаете не так (с) конечно хороша… Но усложнять код ради «выверта»? Код должен быть читаем и прост! Ну вот как например ПРОСТО сделать 10 попыток чтения чего-то с паузой в 60 секунд например не городя огород из костылей? Например, элементарная схема:
1 2 3 4 5 6 7 8 |
Для Сч = 1 По 10 Цикл рез=ПопытатьсяЧтоТоСделать(); если рез=Ложь тогда ГлПауза(1); иначе Прервать; конецесли конеццикла |
А вот так можно реализовать функцию ГлПауза:
1 2 3 4 |
Процедура глПауза(Сек) scr = Новый COMОбъект("WScript.Shell"); scr.Run("sleep "+СокрЛП(Число(Сек)),0,1); КонецПроцедуры; |
Вариант 2 с загрузкой процессора:
1 2 3 4 5 6 |
Процедура глПауза(Сек) КонДата = ТекущаяДата() + Сек; Пока ТекущаяДата() < КонДата Цикл // ждемссс.... КонецЦикла; КонецПроцедуры |