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