gifts2017

Имитация бурной деятельности (шутка)

Опубликовал Владимир (vladismi) в раздел Программирование - Работа с интерфейсом

Как изобразить бурную деятельность программы для нежелательного контролера

Недавно обратились ко мне с просьбой проимитировать работу отчета для нежелательного контролера так, чтобы он не дождался окончания формирования отчета.

Результат (с учетом критики в комментариях) получился такой:

Процедура Тормозилка() Экспорт
    // имитирует бурную деятельность программы
    Перем ч,м,с,чн,мн,сн,чт,мт,ст;
    нв = 19;
    тв = ТекущееВремя(чн,мн,сн);
    п = "Х";
    Для сч=2 по 60 Цикл
        п = п+"-";
    КонецЦикла;
    Пока Число(тв)<19 Цикл
        Если тв<>ТекущееВремя() Тогда
            тв = ТекущееВремя(чт,мт,ст);
            Если мн<>мт Тогда сн=0 КонецЕсли;
            Если чн<>чт Тогда мн=0 КонецЕсли;
            Если  ч<>чт Тогда  ч=чт КонецЕсли;
            Если  м<>мт Тогда  м=мт; мс=м+(ч*60+м*60+с)%7/7 КонецЕсли;
            Если  с<>ст Тогда  с=ст; сс=с+(ч*60+м*60+с)%7/7 КонецЕсли;;
            тс    = "Выполнено: "
                + Формат(Макс(0,(ч-чн)/(нв-чн))*100,"Ч5.2") + "%; "
                + Формат(((мс-мн)/(60-мн))*100,"Ч5.2") +  "%; "
                + Формат(((сс-сн)/(60-сн))*100,"Ч5.2") +  "%";
            п = Прав(п,1)+Лев(п,59);
            Состояние(тс);
            Предупреждение("Обрабатываются данные...
            |" + тв + "
            |" + тс + "
            |" + п,1);
        КонецЕсли;
    КонецЦикла;
    Предупреждение("Системная ошибка!!!
    |Переполнение памяти",10);
    ЗавершитьРаботуСистемы();
КонецПроцедуры

Нежелательный зритель, не больно-то секущий, что же ему сообщает Предупреждение() подождал-подождал, да и ушел восвояси...

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Доржи Цыденов (support) 01.12.10 09:27
для нежелательного контролера так, чтобы он не дождался окончания формирования отчета.

пять баллов!
2. Nicholas Mikuslas (Nicholas) 01.12.10 10:09
3. Андрей Успенский (N!GhT) 01.12.10 16:30
Эх, еще бы обработку, создающую голограмму усиленно работающего меня - и на работу можно только за ЗП приходить ))
4. Роман * (Black Cat) 01.12.10 17:27
Эх. Еще б кнопку для бухгалтера "Все будет хорошо", по нажатию которой будет вводится приход, расход и т.д. Пришел на работу, нажал эту кнопку и все: можно наливать чай обсуждать прически, читать газету, спать...
5. Павел Егоров (SatanClaws) 01.12.10 19:43
1) Постоянно выскакивающее предупреждение сразу намекает на то, что что-то здесь не так. А выскакивают они., если я правильно понял, каждую секунду.
2) Вместо Предупреждение + завершить работу системы можно использовать какой-нить стандартный 1Совский баг. Например, выгрузить СЗ в самого себя же. Или сериализовать СЗ, в котором есть ссылка на самого себя же.
6. Аркадий Кучер (Abadonna) 02.12.10 13:51
тв = ТекущееВремя();
Если мн<>Число(Сред(тв,4)) Тогда сн = 0 КонецЕсли;
Если чн<>Число(тв) Тогда мн = 0 КонецЕсли;
Если ч<>Число(тв) Тогда ч = Число(тв) КонецЕсли;

Если помнить функцию только с этой стороны, тогда как вверху.
А вообще-то у неё есть и другая сторона:
Синтаксис:
ТекущееВремя(<Час>,<Мин>,<Сек>)
Назначение:
Параметры:
<Час> - имя переменной для получения числа часов текущего времени (необязателен),
<Мин> - имя переменной для получения числа минут текущего времени (необязателен),
<Сек> - имя переменной для получения числа секунд текущего времени (необязателен)

И тогда не надо никаких Сред(...) и Число(...)
;)))
7. Олег Валуйский (waol) 03.12.10 12:00
(6) имитация бурной деятельности тоже должна быть грамотной :D
8. Franchiser (Franchiser) 30.03.11 15:31
Посмеялся, для лохов сойдет)
9. Владимир Коробченко (vladimir1980) 22.09.11 20:13
прикольно. не думал действительно, что такое кому то требуется
10. Eugene Korshkov (ekors) 12.02.12 20:53
Класс!
Особенно когда проводят замеры рабочего времени :)
11. Алекс Ю (AlexO) 12.02.12 21:53
(0) не знаю, что у вас проверят контроллеры, но вообще, аудит запрашивает и базу и ваши же отчеты.
И выявляет достоверность бумажной и БД-шной инфо.
И если какой-то отчет выполняется "ждите...ждите..ждите", то возникает резонный впорос - "а покажите-ка, как вы сами сформировали вот этот предоставленный отчет?".
Так что кого тут обманывают - непонятно :))
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа