helpf.pro
Регистрация
 +1 
Распечатать

1С 7.x : Прогресс бар в строке состояния

Для наглядного представления продолжительного процесса выполнения обработки данных можно реализовать строку прогресса в строке состояния при помощи псевдографики.
Код 1C v 7.x
 //Пример процедуры обработки таблицы значений ТЗ
//Размер прогрессора задан в 20 символов (5%)
Процедура ОБработкаДанных()
РазмерИндикатора = ТЗ.КоличествоСтрок();
Индикатор = "";
Для А = 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,ин);
КонецЦикла;
Разместил:   Версии: | 7.x |  Дата:   Прочитано: 11754
 +1 
Распечатать
Возможно, вас также заинтересует
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура...
Выбор оптимального алгоритма для разбора строки в массив 0
Столкнулся с проблемой: ПолучитьСтрокуПоНомеру() медленно отрабатывает на входных данных 100 000 строк. Как сделать бытсрее? // Пример Defender aka LINN ВремяНачала = ТекущаяДата(); Сообщить(" Обработка начата: " + ВремяНачала); ...
Выгрузка / Загрузка данных посредством DBF файлов? 1
DBF-файл – это файл, в котором данные хранятся в виде таблицы (Database format). Работа с этими файлами происходит по принципу курсора, т.е. по одной строке. Для работы с DBF-файлами существует тип данных XBase. Несмотря на то, что...
Выгрузка / Загрузка данных посредством текстовых (TXT) файлов 2
Для работы с текстовыми документами существуют три типа данных – ТекстовыйДокумент, ЗаписьТекста и ЧтениеТекста . Разница двух подходов состоит в способе загрузки документа: ТекстовыйДокумент загружает файл...
Выгрузка данных в Excel с установкой разных параметров 4
// Процедура выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel // с указанным именем, используя преобразование данных к типу число и типу строка; Процедура...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.