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