Заведем переменную в глобальном модуле, хранящую это время.
Перем глНашСчетчикВремени;
И простенькую процедурку там же.
// ВремяВыполнения(<Пар>,<Сигнализировать>)
// процедура инициализирует / фиксирует прошедшее время
// Параметры
// <Пар> - Число, 0 - инициализировать счетчик времени, 1 / 2 - вывести предупреждение / сообщение
// о прошедшем с момента инициализации времени.
// <Сигнализировать> - число, 1 или 0 - подать при выводе рез-тов звуковой сигнал (по умолчанию 1, подать)
Процедура ВремяВыполнения(Знач Пар=1,Знач Сигнализировать=1) Экспорт
Перем ПрошлоСекунд;
Перем ПрошлоМинут;
Перем ПрошлоЧасов;
Перем Резт;
Если Пар=0 Тогда
глНашСчетчикВремени = _getperformancecounter();
Иначе
ПрошлоСекунд = (_getperformancecounter()-глНашСчетчикВремени)/1000;
ПрошлоЧасов = Цел(ПрошлоСекунд/3600);
ПрошлоМинут = Цел(ПрошлоСекунд/60)%60;
ПрошлоСекунд = ПрошлоСекунд%60;
Резт = Формат(ПрошлоЧасов,"Ч(0)"+Макс(2,СтрДлина(ПрошлоЧасов)))+":"+
Формат(ПрошлоМинут,"Ч(0)2")+":"+
Формат(ПрошлоСекунд,"Ч(0)2");
Если Сигнализировать=1 Тогда
// блямкнем, чтобы нас услышали
Сигнал();
КонецЕсли;
Если Пар=1 Тогда
ЧтоНажали = Вопрос(Резт,0,60);
Если ЧтоНажали = 1 Тогда
// пользователь на месте
ИначеЕсли ЧтоНажали = -1 Тогда
// пользователя нет, время прошло, можно продублировать в окно сообщений
Сообщить("=======");
Сообщить(Резт,"i");
Сообщить("=======");
КонецЕсли;
Иначе
Сообщить("=======");
Сообщить(Резт,"i");
Сообщить("=======");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Далее, пользуем в отчете:
Процедура Сформировать()
ВремяВыполнения(0);
// операторы
ВремяВыполнения();
КонецПроцедуры