Пауза() при выполнении кода 1С

ProxyInspector 66 3 3

Продолжается поиск оптимального решения формирования Паузы в коде 1С. Известные способы формирования Паузы, имеют некоторые недостатки. Использование ping() - не стабильно. Использование HTTPСоединение - пауза ограничена 20 сек (по отзывам пользователей). Использование WshShell позволяет обойти эти ограничения.

// Пауза от 1 до 999 сек
// Без показа дополнительных окон
Процедура Пауза(Секунд) Экспорт
	
	WshShell = Новый COMОбъект("WScript.Shell");
	
	СтрокаКоманды = "timeout /t "+Секунд+" /nobreak";
	СтрокаКоманды = "cmd /c "+СтрокаКоманды;					// Закрываем окно после завершения (ключ /с)
	
	ОжидатьЗавершения = Истина;
	WshShell.Run(СтрокаКоманды, 0,ОжидатьЗавершения);			// 0 - не показывать окно командного интерпритатора

КонецПроцедуры
2
Орфографическая ошибка в nobreak: nobreak
Орфографическая ошибка в интерпритатора: интерпритатора

Комментарии

akmi
#1, 21 февраля 2024 14:29

Процедура Пауза(КолВоСекунд)

КонДата = ТекущаяДата() + КолВоСекунд;
Пока ТекущаяДата() < КонДата Цикл
	// пауза ...
КонецЦикла;

КонецПроцедуры // Пауза()


Sergpn
#2, 21 февраля 2024 14:31

(1) akmi, обязательно процессор нагружать?


См. также

Пауза (БСП)

Формирование Паузы при выполнении кода

Реализация функции Пауза() из 1С ERP

КодВозвратаВыполненоСПредупреждениями (БСП)

КодВозвратаВыполнено (БСП)

КодСостоянияВыполнено (БСП)

КодСостоянияВыполненоСПредупреждениями (БСП)

Модератору