Найти в Дзене
Будни одинэсника | 1С

Как сделать паузу в коде 1С?

По многочисленным просьбам в платформе 1С:Предприятие начиная с версии 8.3.25 во встроенном языке будет реализован метод ВызватьПаузу, останавливающий выполнение потока сеанса на заданное время. Синтаксис: ВызватьПаузу(<Интервал>) где параметр Интервал – интервал в миллисекундах. ВАЖНО! Метод ВызватьПаузу доступен только на сервере и может быть вызван из фоновых заданий, веб-сервисов, http-сервисов, ботов и т.п. Важная особенность: метод ВызватьПаузу недоступен в клиент-серверном вызове; при вызове с клиента серверного метода, в котором вызывается ВызватьПаузу, будет сгенерировано исключение «Нельзя вызвать метод ВызватьПаузу в клиент-серверном вызове». Мы сделали это осознанно: метод ВызватьПаузу блокирует выполнение кода и, будучи вызван из клиентского кода, заблокирует пользовательский интерфейс. Мы же хотим, чтобы наш пользовательский интерфейс был максимально «отзывчивым». Для реализации функциональности паузы в клиентском коде есть другие способы – например, можно воспользоваться

По многочисленным просьбам в платформе 1С:Предприятие начиная с версии 8.3.25 во встроенном языке будет реализован метод ВызватьПаузу, останавливающий выполнение потока сеанса на заданное время.

Синтаксис: ВызватьПаузу(<Интервал>)

где параметр Интервал – интервал в миллисекундах.

ВАЖНО! Метод ВызватьПаузу доступен только на сервере и может быть вызван из фоновых заданий, веб-сервисов, http-сервисов, ботов и т.п.

Важная особенность: метод ВызватьПаузу недоступен в клиент-серверном вызове; при вызове с клиента серверного метода, в котором вызывается ВызватьПаузу, будет сгенерировано исключение «Нельзя вызвать метод ВызватьПаузу в клиент-серверном вызове». Мы сделали это осознанно: метод ВызватьПаузу блокирует выполнение кода и, будучи вызван из клиентского кода, заблокирует пользовательский интерфейс. Мы же хотим, чтобы наш пользовательский интерфейс был максимально «отзывчивым». Для реализации функциональности паузы в клиентском коде есть другие способы – например, можно воспользоваться механизмом фоновых заданий.

Метод ВызватьПаузу существенно упростит реализацию ряда сценариев, в частности – сценариев интеграции с внешними системами из серверного кода. Например, метод ВызватьПаузу можно использовать между повторами обращения к внешней системе в ожидании готовности внешней системы к взаимодействию в случае, когда во внешней системе идет длительный процесс (например, подготовка области данных).