ПрогрессБар в строке состояния

13.11.10

Разработка - Работа с интерфейсом

ПрогрессБар в строке состояния. Маленький, шустренький (без ВК)

 

В Глобальный модуль вставить процедуру:

 

//******************************************************************************

Процедура глПрогрессор(Сообщение,Всего,Текущ) Экспорт

Если Всего>0 Тогда

Процент=Цел(Текущ/Всего*100);

Если Процент > Цел((Текущ-1)/Всего*100) Тогда

Состояние(Сообщение + ": "+Формат(Процент,"Ч(0)2")+"% "+СтрЗаменить(Формат("","С"+Мин(99,Процент))," ","l")+СтрЗаменить(Формат("","С"+Мин(99,99-Процент))," ","'")+"l");

КонецЕсли;

КонецЕсли;

КонецПроцедуры

 

 

И пользовать.. Вот пример:

 

Для ин=1 По 100000 Цикл

глПрогрессор("Тест",100000,ин);

КонецЦикла;

 

 

См. также

Работа с интерфейсом Пользователь Платформа 1С v7.7 1C77 Абонемент ($m)

Часто встречающаяся проблема: потерялось Окно сообщений. Обработка исправляет эту "проблему" одним нажатием кнопки. Для обычных пользователей. Не требует программирования. Достаточно запустить обработку и нажать кнопку "Выполнить".

5 стартмани

17.01.2025    338    1    CheBurator    11    

6

Работа с интерфейсом Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Создание и использование на формах в среде 1С 7.7 прогрессбара, индикатора, как в 1С 8.Х для контроля над длительными процессами. Реализовано средствами языка программирования 1С 7.7.

1 стартмани

06.06.2024    865    1    user1416274    17    

2

Работа с интерфейсом Логистика, склад и ТМЦ Системный администратор Программист Пользователь Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

2500 руб.

18.10.2022    6022    1    45    

4

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v7.7 Абонемент ($m)

Обработка с фрагментами кода для программного использования набора цветов из коллекции WebЦвета 1с версии 8+ в 1с версии 77. Требуется предварительное подключение сторонней библиотеки FormEх. Будет полезно программистам 1с 77, 1с 8. Да и вообще при программировании на любом языке при потребности использовать коллекцию цветов WebЦвета.

1 стартмани

30.03.2022    5150    2    igor7777    4    

6

Работа с интерфейсом Программист Платформа 1С v7.7 1C77 Бесплатно (free)

Публикация имеет цель обратить внимание на возможность улучшения интерфейса.

15.12.2021    5036    77    Cерый    13    

8

Работа с интерфейсом Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    7571    4    vap_pig    5    

4

Учет рабочего времени Работа с интерфейсом Программист Бухгалтер Пользователь Платформа 1С v7.7 1C77 Россия Абонемент ($m)

Обработка производственного календаря с возможностью импорта и экспорта xls для 1С 7.7 (7.70.027) без изменения конфигурации.

1 стартмани

18.09.2019    13239    6    Jill    8    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 483 13.11.10 16:01 Сейчас в теме
в принципе и на 8.х заработает
2. sytkosa 119 14.11.10 00:16 Сейчас в теме
(1) На 8-ке есть штатный через компановку
3. anig99 2853 14.11.10 12:20 Сейчас в теме
Шепот Теней уже давно такой пример статус бара приводил
4. Boog 50 17.11.10 13:47 Сейчас в теме
Тормозить будет.....................................................
5. via 93 17.11.10 14:08 Сейчас в теме
дополнительно конечно оказывает небольшую нагрузку (на каждые 100 000 операций + 5 секунд)...
я сейчас вставляю этот "прогрессор" везде.
... без него ощущаю себя ослом перед зеркалом.
... помогает оценить объем работ.

Если обработка робит долго (например, больше часа, то юзаю уже http://infostart.ru/public/78034/ )
romanuil; +1 Ответить
6. gucci76 366 17.11.10 14:36 Сейчас в теме
Процедура глПрогрессор(Сообщение,Всего,Текущ,ТекущийПроцент) Экспорт

Если Всего>0 Тогда

Процент=Цел(Текущ/Всего*100);
Если Процент = ТекущийПроцент Тогда
Возврат; // не надо лишний раз перерисовывать
КонецЕсли;

Если Процент > Цел((Текущ-1)/Всего*100) Тогда

Состояние(Сообщение + ": "+Формат(Процент,"Ч(0)2")+"% "+СтрЗаменить(Формат("","С"+Мин(99,Процент))," ","l")+СтрЗаменить(Формат("","С"+Мин(99,99-Процент))," ","'")+"l");

КонецЕсли;

КонецЕсли;

КонецПроцедуры
7. via 93 17.11.10 14:50 Сейчас в теме
не уверен что скорость увеличится пропорционально навороченным наворотам ;-)
11. gucci76 366 24.11.10 12:35 Сейчас в теме
(7) Возможно что и не увеличится, т.к. используется Состояние();
Я просто использую подобное в форме через Форма..Заголовок(), и в нем перерисовка заметно увеличивает время.
Поэтому и написал.
Признаю свою невнимательность!!!
12. via 93 24.11.10 12:53 Сейчас в теме
(11) Проверка на изменение процента уже есть:
Если Процент > Цел((Текущ-1)/Всего*100) Тогда
другое дело, что предыдущий процент каждый раз пересчитывается... Но я проверял - нагрузка при этом не большая.. Обычно нагрузку на процессор на 99,999 % оказывают другие "операторы".
8. krupp 17.11.10 22:29 Сейчас в теме
Всегда считал, что красивое должно быть минималистским.
Супер!
9. artbear 1565 18.11.10 09:00 Сейчас в теме
(0) Тормозить будет, нужно с какими-то перерывами :(
10. via 93 18.11.10 09:21 Сейчас в теме
... ага, с перекурами ;-)
13. gucci76 366 24.11.10 12:55 Сейчас в теме
(13) Дейстительно! Можно и так проверить изменение процента! А я не догадался! :D
14. SashaA 26.10.11 13:36 Сейчас в теме
Подскажите пожалуйста как встроить:

Для ин=1 По 100000 Цикл
глПрогрессор("Тест",100000,ин);
КонецЦикла;



в например:

Процедура XXXXX()
СПР=СоздатьОбъект("Справочник.Контрагенты");
СПР.ВыбратьЭлементы ();
Пока СПР.ПолучитьЭлемент () = 1 Цикл
ТРАЛИ ВАЛИ
КонецЦикла;
КонецПроцедуры


Заранее спасибо.
16. via 93 13.02.12 07:38 Сейчас в теме
(14) SashaA,
Прогрессбары встраиваются туда, где известно общее кол-во "итераций"
Я иногда сначала пробегаю по справочнику (документам), узнаю общее кол-во элементов, а затем уже (вторым циклом) использую прогрессбар (глПрогрессор("Обработка",ЭлементовВсего,ин))
15. romanuil 11.02.12 15:47 Сейчас в теме
Работает, и очень просто в программировании.
17. Rockman 14.03.12 16:00 Сейчас в теме
18. konstantinvasenev 97 06.10.17 14:02 Сейчас в теме
Объясните плиз, что за конструкция Формат("","С"+Мин(99,Процент)
Пытаюсь реализовать на 8.х. С 7.х не работал
19. eshtrey 09.10.17 10:09 Сейчас в теме
(18) Формат("","С"+Мин(99,Процент)) - функция форматирования строки. Второй параметр задает длину строки. Если параметр равен, например С99, то на выходе получим строку длиной 99 символов.
Т.к. первый параметр пустая строка, то на выходе будет строка состоящая из 99 пробелов.
Оставьте свое сообщение