Прогресс бар в строке состояния Для наглядного представления продолжительного процесса выполнения обработки данных можно реализовать строку прогресса в строке состояния при помощи псевдографики.
Код 1C v 7.x
Процедура ОБработкаДанных()
РазмерИндикатора = ТЗ. КоличествоСтрок( ) ;
Индикатор = "" ;
Для А = 1 По 20 Цикл
Индикатор = Индикатор + " " ;
КонецЦикла ;
Счетчик = 0 ;
ТЗ. ВыбратьСтроки( ) ;
Пока ТЗ. ПолуичтьСтроку( ) = 1 Цикл
Счетчик = Счетчик + 1 ;
Показатель = Цел( Счетчик/ РазмерИндикатора * 100 ) ;
Если Цел( Показатель/ 5 ) = Показатель/ 5 Тогда
Индикатор = "" ;
Для А = 1 По 20 Цикл
Индикатор = Индикатор + ? ( А< = Показатель/ 5 , Симв( 127 ) , " " ) ;
КонецЦикла ;
Состояние( Индикатор + "| Анализ адресов; " + Показатель + "%" ) ;
КонецЕсли ;
КонецЦикла ;
КонецПроцедуры
Код 1C v 7.x
Процедура глПрогрессор(Сообщение,Всего,Текущ) Экспорт
Если Всего> 0 Тогда
Процент= Цел( Текущ/ Всего * 100 ) ;
Если Процент > Цел( ( Текущ- 1 ) / Всего * 100 ) Тогда
Состояние( Сообщение + ": " + Формат( Процент, "Ч(0)2" ) + "% " + СтрЗаменить( Формат( "" , "С" + Мин( 99 , Процент) ) , " " , "l" ) + СтрЗаменить( Формат( "" , "С" + Мин( 99 , 99 - Процент) ) , " " , "'" ) + "l" ) ;
КонецЕсли ;
КонецЕсли ;
КонецПроцедуры
Для ин= 1 По 100000 Цикл
глПрогрессор( "Тест" , 100000 , ин) ;
КонецЦикла ;
Категория:
Полезные, Универсальные Функции