Таймер выполнения

09.03.07

Разработка - Работа с интерфейсом

Элементарная вещь: вывод времени выполнения процедуры. У меня работает давным-давно. В силу своей простоты можно пометить как "для новичков".
Нужно знать время выполнения обработок / отчетов? От нажатия кнопки "Выполнить" или "Сформировать" и до "Для получения подсказки нажмите F1" ? Это просто.

Заведем переменную в глобальном модуле, хранящую это время.
 
Перем глНашСчетчикВремени;


И простенькую процедурку там же.

// ВремяВыполнения(<Пар>,<Сигнализировать>)
//   процедура инициализирует / фиксирует прошедшее время
// Параметры
//   <Пар> - Число, 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);
     
    // операторы
    
    ВремяВыполнения();
КонецПроцедуры


См. также

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Создание и использование на формах в среде 1С 7.7 прогрессбара, индикатора, как в 1С 8.Х для контроля над длительными процессами. Реализовано средствами языка программирования 1С 7.7.

1 стартмани

06.06.2024    708    1    user1416274    17    

2

Работа с интерфейсом Логистика, склад и ТМЦ Системный администратор Программист Пользователь Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5849    1    45    

4

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v7.7 Абонемент ($m)

Обработка с фрагментами кода для программного использования набора цветов из коллекции WebЦвета 1с версии 8+ в 1с версии 77. Требуется предварительное подключение сторонней библиотеки FormEх. Будет полезно программистам 1с 77, 1с 8. Да и вообще при программировании на любом языке при потребности использовать коллекцию цветов WebЦвета.

1 стартмани

30.03.2022    4971    2    igor7777    4    

6

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Публикация имеет цель обратить внимание на возможность улучшения интерфейса.

15.12.2021    4838    71    Cерый    13    

7

Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    7421    4    vap_pig    5    

4

Учет рабочего времени Работа с интерфейсом Программист Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработка производственного календаря с возможностью импорта и экспорта xls для 1С 7.7 (7.70.027) без изменения конфигурации.

1 стартмани

18.09.2019    12996    6    Jill    8    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. АЛьФ 09.03.07 20:58 Сейчас в теме
И чем не угодил замер производительности в отладчике?
2. Shaman100M 1151 11.03.07 16:17 Сейчас в теме
отладчик для разработчика
3. АЛьФ 12.03.07 16:05 Сейчас в теме
А зачем не разработчику знать время выполнения отчета? Ему интересней знать сколько времени осталось до конца выполнения. Для этого делают всякие прогресс-бары.
4. Shaman100M 1151 12.03.07 16:38 Сейчас в теме
Нужно знать конечное количество операций, это не всегда известно. Идея. Как вариант, сохранять его для заданных параметров от прошлого запуска обработки... В принципе, можно попробовать.
Оставьте свое сообщение