Обработка позволяет использовать ее код для вставки в любом месте модулей объектов конфигурации.
1. Для начала создадим переменную:
Перем КоличествоСекунд;
2. Далее, создаем процедуру, которая выполняется при нажатии на кнопку "Выполнить" (в вашем случае это может быть не кнопка, а обычный участок кода), и подключаем в нем обработчик ожидания. Задаем в этой же процедуре значение для переменной "Количество секунд" - в моем случае 20 секунд:
Процедура КнопкаВыполнитьНажатие(Кнопка)
ПодключитьОбработчикОжидания("Ждем",1); // Подключаем обработчик ожидания в интервал 1 секунда
КоличествоСекунд = 20; // Количество секунд до отсчета
КонецПроцедуры
3. И соответственно, добавляем процедуру Ждем() интервал которой будет являться одна секунда (указано выше в подключении обработчика). Когда количество секунд дойдет до 0, отключаем обработчик ожидания и показываем сообщение пользователю (если это актуально в Вашем случае):
Процедура Ждем()
Если КоличествоСекунд = 0 Тогда
ОтключитьОбработчикОжидания("Ждем"); // когда количество секунд дойдет до 0, отключаем обработчик ожидания (виртуальный таймер)
Предупреждение("Отчет выполнен");
Иначе
КоличествоСекунд = КоличествоСекунд - 1; // отнимаем каждый раз по 1 секунде
Сообщить(КоличествоСекунд); // сообщаем для информации
КонецЕсли;
КонецПроцедуры;
Общий код обработки:
Перем КоличествоСекунд;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ПодключитьОбработчикОжидания("Ждем",1); // Подключаем обработчик ожидания в интервал 1 секунда
КоличествоСекунд = 20; // Количество секунд до отсчета
КонецПроцедуры
Процедура Ждем()
Если КоличествоСекунд = 0 Тогда
ОтключитьОбработчикОжидания("Ждем"); // когда количество секунд дойдет до 0, отключаем обработчик ожидания (виртуальный таймер)
Предупреждение("Отчет выполнен");
Иначе
КоличествоСекунд = КоличествоСекунд - 1; // отнимаем каждый раз по 1 секунде
Сообщить(КоличествоСекунд); // сообщаем для информации
КонецЕсли;
КонецПроцедуры;
Тестирование обработки происходило на платформах: 8.0 - 8.2