Индикатор процесса в строке состояния ... ?...!

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

Я очень люблю програссБар – по-русски индикатор процесса … куда бы его поместить ...?

При использовании "элемента формы" часто его «таскаешь» туда-сюда и в итоге ему не оказывается места и каждый раз он оказывается в разных местах формы…

В итоге я его накладываю «сверху» на какой-нибудь элемент формы … Что очень неудобно и по «форме» и по «содержанию»… 


Идея разместить индикатор в строку состояния … ))) … вот что получилось …

… ВОТ …

 

от Абадонны и Душелова - и просто и гениально и быстро и штатно - вызов и работа индикатора строки состояния:

	 Процедура КнопкаВыполнитьНажатие(Кнопка)
    ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    Пр.ОтображатьПроцентВывода=Истина ;
    Эл=Новый ЭлементРезультатаКомпоновкиДанных;
    
    ПР.НачатьВывод();
    Для А=1 По 100 Цикл
        Эл.ПроцентВывода=А;
        //задержка, чтобы разглядеть
        Для Б=1 По 10000 Цикл КонецЦикла;
        ПР.ВывестиЭлемент(Эл);
    КонецЦикла
    ПР.ЗакончитьВывод();
КонецПроцедуры

прошу всех оценить и выразить своЁ отношение к данным товарищам в виде плюсов в любых их разработках ...

... ВОТ ...

Скачать файлы

Наименование Файл Версия Размер
ИндикаторПроцесса.epf
.epf 87,63Kb
14.09.14
349
.epf 87,63Kb 349 Скачать
ИндикаторПроцесса_ИС.epf
.epf 87,66Kb
14.09.14
143
.epf 87,66Kb 143 Скачать

См. также

Комментарии
1. Андрей Скляров (coder1cv8) 3281 27.10.09 13:50 Сейчас в теме
2. Александр Шишкин (Шёпот теней) 1681 27.10.09 13:57 Сейчас в теме
(1) ... текст понятен ... каков КОНтекст в ПОДтексте ...

... согласен "в" или "с" : чем проще - тем бОянистее - или боЯнистее - или боянИстее - или боянистЕЕ ... или ...?

... вОт ...
3. Vasily Kushnir (vasilykushnir) 62 27.10.09 16:20 Сейчас в теме
4. Александр Шишкин (Шёпот теней) 1681 27.10.09 16:26 Сейчас в теме
добавил "видимость" - сколько осталось до окончания ... )))


(3) ... чего там и скринить-то ... бегутЬ палочки в строке состояния ... но подчиняюсь товарищам ... сейчас сделаю ... уффф ...
5. Александр Шишкин (Шёпот теней) 1681 27.10.09 16:32 Сейчас в теме
(3) .... не работает ПРИНТскрин при выполнении 1С ... не получится со скрином ... включаем видеоФантазию ...

... вОт ...
6. Vasily Kushnir (vasilykushnir) 62 27.10.09 17:17 Сейчас в теме
7. Алексей Коробов (WiseSnake) 1721 28.10.09 22:22 Сейчас в теме
(5) Ух ты, а вот с этого места поподробней!
А как Вы средствами 1С отключили ПРИНТскрин?
8. Александр Кузин (sashocq) 187 28.10.09 23:39 Сейчас в теме
Думаю, это гениально!
И как это мне в голову не пришло?
9. Александр Шишкин (Шёпот теней) 1681 29.10.09 02:44 Сейчас в теме
(7) ... ПРИНТскрин рАботает ... но только либо ДО либо ПОСЛЕ запуска обработки ... поэтому "заснять" вид индикатора в процессе работы не получатся а без него скрин, я так полагаю и не нужен ... если у Вас получится я Вам буду блАгодарен ...

(8) ... СОгласен ... всЁ гениальное просто ... к сожалению, САМ сообразил только после "ветки" на Мисте с подобным вопросом ... п.с. Думается только в общении и спорах рождаются идеи ...
10. Александр Шишкин (Шёпот теней) 1681 29.10.09 02:47 Сейчас в теме
цифры и скобки = смайлики ... начинается как в 1С - поставил галочку, НЕпоставил галочку, как поставил галочку, где поставил галочку ...

(8) ... СОгласен ... всЁ гениальное просто ... к сожалению, САМ сообразил только после "ветки" на Мисте с подобным вопросом ...

п.с. Думается только в общении и спорах рождаются идеи ...
11. Александр Шишкин (Шёпот теней) 1681 29.10.09 02:48 Сейчас в теме
12. vladal (Vladal) 29.10.09 10:05 Сейчас в теме
(0) А в чем разница в этих обработках - ИС и без ИС?
13. Александр Шишкин (Шёпот теней) 1681 29.10.09 10:36 Сейчас в теме
(12) ... см. (4) ...

первая версия - "бежит" индикатор - но не видно сколько осталось до окончания ...
версия ИС - и индикатор "бежит" и видно сколько осталось до конца процесса ...

... вот ...
14. Алексей Коробов (WiseSnake) 1721 30.10.09 08:17 Сейчас в теме
15. Александр Шишкин (Шёпот теней) 1681 30.10.09 09:33 Сейчас в теме
(14) ... убил ... уничтожил ... размазал ... )))

покзал конфетку ... расскажи как сделал ...

ну НЕ УЖЕЛИ принтСкрин-ом ... ??? или волшебным сочетанием клавишЬ ...???

... ВОТубилВЕДЬ ...



16. Александр Медведев (anig99) 2490 30.10.09 09:57 Сейчас в теме
(16) на виртуальной машине или через терминал
17. Александр Шишкин (Шёпот теней) 1681 30.10.09 10:06 Сейчас в теме
(16) ... нууу... тогДА это НЕчестно ... ))) ...

В операционной системе Windows нажатие клавиши Print Screen инициирует создание скриншота всего экрана, а нажатие Print Screen одновременно с клавишей Alt создаст скриншот активного окна.

...
18. Алексей Коробов (WiseSnake) 1721 30.10.09 11:24 Сейчас в теме
(15) Локально. ПринтСкрином но у меня стоит SnagIt (без него я и не пользовался ПринтСкрином никогда :)))
19. Алексей Коробов (WiseSnake) 1721 30.10.09 11:27 Сейчас в теме
(15) > покзал конфетку ...
Ну если понравилось моГешь вставить в шапку сабжа ;)
20. Александр Шишкин (Шёпот теней) 1681 30.10.09 11:30 Сейчас в теме
(18) ... ммм ...
(19) ... ага ...

...вотСПАСИБОвставил...
21. Александр Шишкин (Шёпот теней) 1681 02.11.09 12:13 Сейчас в теме

просто так:

в общихМодулях в ОбщегоНазначения есть:
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт

недавно на мисте увидел интересную идею по "разложить сторку на подстроки" со следующим механизмом:

"... заменить пробелы разделителем строк... и далее работать как с многострочным текстом ..."

... может это для кого-то и не открытие но мне понравилась эта гениальная простота ...

... вот ...
D!m; gaglo; +2 Ответить
22. Caponid V (caponid) 02.11.09 12:33 Сейчас в теме
Полезная штука)

используется очень давно в распределенном обмене данными
в стандартной форме выгрузки данных было замеряно, что на отрисовку рюшечек индикатора графикой используется 30% времени, с использование псевдографики в строке состояния затраты снизились на порядки.

рекомендую)
D!m; Шёпот теней; +2 Ответить
23. Михаил Ражиков (tango) 466 02.11.09 13:52 Сейчас в теме
а если так:
разместить на экране поверх 1ски что-нибуль еще, но так, чтоб прогрессбар был виден. запускаешь обработку, переключаешься в "что-нибудь еще" и жамкаешь принтскрин...?
Шёпот теней; +1 Ответить 1
24. Александр Шишкин (Шёпот теней) 1681 02.11.09 14:12 Сейчас в теме
(23) ... мАэстро .... попробовал ... ты гений ... прокатило ... !!! ... )))

... ВОТведьКАКбывает...
25. Аркадий Кучер (Abadonna) 3659 03.11.09 03:18 Сейчас в теме
.... не работает ПРИНТскрин при выполнении 1С ... не получится со скрином ...

А как я тогда сделал вот тут? :o
http://www.infostart.ru/public/59436/
26. Николай (rinatru) 03.11.09 06:37 Сейчас в теме
зачем такой велосипед?
а пользоваться стандартной формой прогресс-бара из общих форм конфигурации????
27. Александр Шишкин (Шёпот теней) 1681 03.11.09 07:59 Сейчас в теме
28. Аркадий Кучер (Abadonna) 3659 03.11.09 08:01 Сейчас в теме
(27) Есть какая-то фича с длинющим названием... только я уж не помню, был коммент на одну из моих разработок, которую я снес
29. Аркадий Кучер (Abadonna) 3659 03.11.09 08:06 Сейчас в теме
+(28) Там через какой-то (не помню!) стандартный объект 8.1 можно вывести прогресс-бар в статус-панель
Шёпот теней; +1 Ответить
30. Аркадий Кучер (Abadonna) 3659 03.11.09 08:14 Сейчас в теме
Сань, что-то вроде
ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
31. Александр Шишкин (Шёпот теней) 1681 03.11.09 08:43 Сейчас в теме
(30) ... спасибо ... будем маленько поискать ... )))

... вот ...
32. Аркадий Кучер (Abadonna) 3659 03.11.09 08:46 Сейчас в теме
Начало, точно я уж изобразил ;)
ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
Пр.ОтображатьПроцентВывода=Истина ;
ПР.НачатьВывод();
Индикатор появляется, процент стоит 0. Дальше лень колупаться
33. Александр Шишкин (Шёпот теней) 1681 03.11.09 08:53 Сейчас в теме
(26) , (30) ... видимо ВЫ абсолютно прАвы ... что-то есть :

ОбщийМодуль
ТиповыеОтчеты
Процедура ВывестиТиповойОтчет(ОтчетОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено, ВыводитьШапкуОтчетаНаВсехСтраницах = истина)


//Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
...
//Обозначим начало вывода
ПроцессорВывода.НачатьВывод();

...

Пока Истина Цикл

...

//Элемент получен - выведем его при помощи процессора вывода
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);

...

КонецЦикла;

//Обозначем завершение вывода
ПроцессорВывода.ЗакончитьВывод();
...


... вотВедьКакБывает ...

34. Александр Шишкин (Шёпот теней) 1681 03.11.09 08:55 Сейчас в теме
(32) ... пока я "колупался" с (33) ты меня уже "успел" ... )))

... вот ...
35. Аркадий Кучер (Abadonna) 3659 03.11.09 08:56 Сейчас в теме
(33) А в либе я все-таки оставил метод стьатус-индикатора ;)
Ибо нема в 7.7 ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
А в 8.1 мой не "забивает" строку состояния
36. Александр Шишкин (Шёпот теней) 1681 03.11.09 09:10 Сейчас в теме
//Создадим и инициализируем процессор вывода результата
ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
//ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПР.НачатьВывод();

Для раз=1 По Элемент.Значение Цикл
ПР.ВывестиЭлемент(раз);
КонецЦикла;

//Обозначем завершение вывода
ПР.ЗакончитьВывод();

выдаЁт ошибку:
Ошибка при вызове метода контекста (ВывестиЭлемент): Несоответствие типов (параметр номер '1')
ПР.ВывестиЭлемент(раз);

... как нужно ? ... подскажите люди добрые ... ВОТ ...
37. Александр Шишкин (Шёпот теней) 1681 03.11.09 09:30 Сейчас в теме
думается мне - что тама требуется как объекту СКД "дать" ещё кучу входных данных:

КомпоновщикМакетаСведенияОбОрганизациях = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиСведенияОбОрганизациях = КомпоновщикМакетаСведенияОбОрганизациях.Выполнить(СхемаКомпоновкиДанныхСведенияОбОрганизациях, НастройкиСведенияОбОрганизациях);

ПроцессорКомпоновкиСведенияОбОрганизациях = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиСведенияОбОрганизациях.Инициализировать(МакетКомпоновкиСведенияОбОрганизациях);

... наверное не стоит овчинка выделки ... поэтому и придумали "ИНДИКАТОР" ...

... кто знает - подскажите ... кто умеет - покажите ... ВОТ ...
38. Аркадий Кучер (Abadonna) 3659 03.11.09 09:45 Сейчас в теме
(36) Хитрый :D Я на том же тормознулся, а дальше стало лень эксперименты проводить. Но будем посмотреть ;)
39. Аркадий Кучер (Abadonna) 3659 03.11.09 09:52 Сейчас в теме
Процедура КнопкаВыполнитьНажатие(Кнопка)
	ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	Пр.ОтображатьПроцентВывода=Истина ;
	ПР.НачатьВывод();
	Для А=1 По 100 Цикл
		Эл=Новый ЭлементРезультатаКомпоновкиДанных;
		Эл.ПроцентВывода=А;
		//задержка, чтобы разглядеть
		Для Б=1 По 10000 Цикл КонецЦикла;
		ПР.ВывестиЭлемент(Эл);
	КонецЦикла
КонецПроцедуры
...Показать Скрыть
dachnik; PRoman; Шёпот теней; +3 Ответить 3
40. dushelov (Душелов) 03.11.09 10:20 Сейчас в теме
(39) Я бы так сделал

Процедура КнопкаВыполнитьНажатие(Кнопка)
	ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; 
	Пр.ОтображатьПроцентВывода=Истина ; 
	Эл=Новый ЭлементРезультатаКомпоновкиДанных; 
	
	ПР.НачатьВывод(); 
	Для А=1 По 100 Цикл 
		Эл.ПроцентВывода=А; 
		//задержка, чтобы разглядеть 
		Для Б=1 По 10000 Цикл КонецЦикла; 
		ПР.ВывестиЭлемент(Эл); 
	КонецЦикла 
	ПР.ЗакончитьВывод();
КонецПроцедуры
...Показать Скрыть
PRoman; Шёпот теней; +2 Ответить 2
41. Аркадий Кучер (Abadonna) 3659 03.11.09 10:35 Сейчас в теме
(39,40) Поломали мы Саньке кайф :D
Шёпот теней; +1 Ответить 1
42. Александр Шишкин (Шёпот теней) 1681 03.11.09 10:47 Сейчас в теме
(39), (40) ... УРА-аааа ...

(41) ... ужжжж и поломали ... наОООбОООрОООт ... навели ...

кто же не знает величия О-Великих - Abadonna и Душелова ...

... безгранично ВАМ благодарен ... выражаю искреннее восхищение ...

!!!

... ВОТ ... знай великих ... орешек знаний ...
43. Александр Шишкин (Шёпот теней) 1681 03.11.09 11:00 Сейчас в теме
(39), (40) ... для пущей справедливости добавил ваши посты в (0) ...

с уважением Шёпот теней (в миру Александр Шишкин) ... ВОТ ...
44. Аркадий Кучер (Abadonna) 3659 03.11.09 11:25 Сейчас в теме
(43) Ты мне лучше на мой индикатор плюс поставь, там "букафф" меньше :D
SetStatusBarGauge()
StatusBarGaugePosition(Процент)
Шёпот теней; +1 Ответить
45. Александр Шишкин (Шёпот теней) 1681 03.11.09 11:52 Сейчас в теме
если "здесь" то я ужжж все твои комменты на+ ...
а в разработках не нашЁл ...

...вот...Великий...
46. Аркадий Кучер (Abadonna) 3659 03.11.09 14:48 Сейчас в теме
47. aga_aga (Збянтэжаны Саўка) 27.05.10 14:29 Сейчас в теме
пилюс за ... картинку на форме и за логотип ШТ :)
48. aga_aga (Збянтэжаны Саўка) 27.05.10 14:35 Сейчас в теме
(47) глюки: правка коммента не отображается сразу, а после ... пока не уловил зависимости
а из двух файлов выложенных на скачку какой скачивать - то?
во втором файле постфикс ИС - это что значит, с ИнфоСтарта шо-ли?
а 1-й тогда откуда, хе-хе, от ШТ?

Да картинка класс! Можно я эту картинку позаимствую на свою обработку по импорту остатков ГСМ, вот сюда ?..

Прикрепленные файлы:
49. Дмитрий Ткачев (Ткачев) 71 19.10.10 12:15 Сейчас в теме
Как надпись "Вывод отчета", в начале индикатора поменять на другую ?
50. Александр Шишкин (Шёпот теней) 1681 19.10.10 13:19 Сейчас в теме

... если через способ Абадонны ...
.. посмотрите оператор "ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент­" если там есть замена текста то можно - иначе - то наверное никак ... (((

... если получится то и нам расскажите ... ! ..

... вот ...
51. Максим Лысенко (hooligan_slx) 30.09.11 11:34 Сейчас в теме
Немного переделал твою обработку под себя...бухгалтерам нравится что они могут отслеживать ход выполнения процесса!! За идею ставлю +!! ))
Шёпот теней; +1 Ответить
52. Ирина Борденюк (iren_8807) 09.10.11 01:24 Сейчас в теме
53. Ruslan Ahmetshin (AruslanM) 07.12.11 12:11 Сейчас в теме
Немного изменил под себя, спасибо, взял на вооружение.
55. Сергей Старых (tormozit) 4140 23.12.11 18:50 Сейчас в теме
Признаюсь, тоже сам не догадался до такой возможности. Однако ее универсальное применение на мой взгляд неоправдано из-за дезориентирующей пользователя надписи "Вывод отчета" слева от прогресс-бара
56. Игорь Мирошниченко (igormiro) 655 04.01.12 18:42 Сейчас в теме
Мне интересно, а кто нибудь быстродействие такого индикатора замерял.
Мне кажется что 50 % ресурсов системы будет уходить на такой индикатор. Следующее под управляемыми формами не работает.
57. as asd (edzz) 04.03.13 19:41 Сейчас в теме
58. Юрий Осипов (yuraos) 864 07.03.13 20:15 Сейчас в теме
Вот еще вариант вывода прогресса выполнения
просто в строку состояния процедурой Состояние()
с выводом процента выполнения и
возможностью реверсии "прогресс-бара".
---
Может не так красиво (не графический, текстовый "прогресс-бар")
- зато не тормозит точно.
...ВОТ...
использован в обработке "Консоль запросов 1С + ADO"
в форме обработки выборки запроса.
Прикрепленные файлы:
РекурсивныйПрогрессДемо.epf
brunen9; Шёпот теней; +2 Ответить
59. Артур Лагунов (lagunovartur) 16.05.16 19:13 Сейчас в теме
А как заменить слова вывод отчета на что нибудь свое?