Предоставляет функционал паузы в 1С, длительностью до 20 секунд
Функция Ожидать(ВремяОжиданияВСекундах) Экспорт
Если ВремяОжиданияВСекундах<> 0 Тогда
НастройкиПрокси = Новый ИнтернетПрокси(Ложь);
НастройкиПрокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
НастройкиПрокси.НеИспользоватьПроксиДляАдресов.Добавить("127.0.0.0");
Попытка
Замыкание = Новый HTTPСоединение(
"127.0.0.0",,,,НастройкиПрокси,
ВремяОжиданияВСекундах);
Замыкание.Получить(Новый HTTPЗапрос());
Исключение
Возврат Неопределено;
КонецПопытки;
КонецЕсли;
КонецФункции
{1} Не все части функции возвращают значениеTurboConf - расширение Конфигуратора 1С
Что-то не понятно на какое время расчитан эта функция. Какой смысл в установке времени ожидания, если после попадания в исключение будет приведено к 0?
(1) Ruizave, исправлено) в таком варианте должно стать лучше
Работает не всегда и до 20 секунд
(3) PowerBoy, "работает не всегда" имеется в виду что бывают сбои? или что не при всех условиях работает? По поводу "до 20 секунд" вы абсолютно правы. Я этого не учел. Видимо, для более длительных операций придется по старинке нагружать 1С
ДатаОкончания = ТекущаяДата() + ВремяОжиданияВСекундах;
Пока ТекущаяДата() < ДатаОкончания Цикл
КонецЦикла;
(4) Эльдар Мингалиев, Можно совместить:
Функция Ожидать(ВремяОжидания) Экспорт
ТекВремя = ТекущаяДата();
Пока ТекущаяДата() < ТекВремя + ВремяОжидания Цикл
ОжидатьДо20(ВремяОжидания-(ТекущаяДата()-ТекВремя));
КонецЦикла;
Возврат Истина;
КонецФункции
Функция ОжидатьДо20(ВремяОжидания)
Если ВремяОжидания <> 0 Тогда
НастройкиПрокси = Новый ИнтернетПрокси(Ложь);
НастройкиПрокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
НастройкиПрокси.НеИспользоватьПроксиДляАдресов.Добавить("127.0.0.0");
Попытка
Loopback = Новый HTTPСоединение(
"127.0.0.0",,,,НастройкиПрокси,
ВремяОжидания);
Loopback.Получить(Новый HTTPЗапрос());
Возврат Истина;
Исключение
Возврат Ложь;
КонецПопытки;
КонецЕсли;
КонецФункции