Расчет времени до завершения операции с отображением индикатора состояния

30.11.16

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

Это кусок кода для отображения стандартного прогрессбара в УТ 10 с информированием расчетного оставшегося времени.

Иногда приходится создавать отчеты, время формирования которых достигает существенного объема. Конечно первое что приходит на ум это оптимизация кода с целью уменьшения времени расчетов, но бывают случаи, когда это невозможно и поэтому нужно оповестить пользователя о примерном времени формирования отчета/данных.

Данный код пригодится для отображения прогрессбара с расчетным оставшемся временем.

Подходит для УТ 10, УПП и без труда может быть оптимизирован под любые другие конфигурации.

Позаботьтесь о пользователях, отпустите их выпить чашку кофе, пока выполняется обработка. 


ФормаИндикатора = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
ФормаИндикатора.НаименованиеОбработкиДанных = "Чтение данных";
ФормаИндикатора.КомментарийОбработкиДанных = "Выполнение запроса";
ФормаИндикатора.Открыть();
ФормаИндикатора.ЭлементыФормы.Индикатор.МаксимальноеЗначение = Выборка.Количество();
ВсегоОбъектов =  Выборка.Количество() ;
текПроцент = 0 ;
минОсталось = 0 ;
Прогноз = 0;
ВремяСтарта = ТекущаяДата() ;
СуммаЗаказа = 0 ;
КолВоЗаказа = 0 ;
Товары.Очистить();
Пока Выборка.Следующий() Цикл
                Ном = Ном +1 ;
                //формула
                //минОсталось = минПрошло*100/текПроцентОстаток
                //где
                //текПроцент =  текЭлемент*100/ВсегоОбъектов ;
                текПроцент  = Ном * 100 / ФормаИндикатора.ЭлементыФормы.Индикатор.МаксимальноеЗначение ;
                минПрошло   = (ТекущаяДата () - ВремяСтарта)  ;
                Прогноз =    минПрошло*100/текПроцент ;
                минОсталось = Окр(Прогноз - минПрошло,0);
                ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Ном;
                ФормаИндикатора.КомментарийОбработкиДанных = "Обработка элемента (" + Ном + " из " + ВсегоОбъектов + ") " + "Осталось: "+минОсталось+" сек.";
                ФормаИндикатора.ЭлементыФормы.КомментарийЗначения.Значение = Строка(Выборка.Номенклатура);//+"  Прошло: "+Окр(минПрошло,1)+ " мин.";
КонецЦикла;
ФормаИндикатора.Закрыть()   ;

См. также

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55307    17    23    

43

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63704    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19553    27    6    

42

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10770    7    7    

11

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

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    20850    mrXoxot    44    

128

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

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    10333    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17748    1223    elcoan    53    

125
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rus128 2 12.04.12 12:37 Сейчас в теме
все гениальное - просто!
2. Stamper 43 18.04.12 12:36 Сейчас в теме
а замером производительности "проходились" по выполнению?
по моему опыту операция обработки интерфейса (Сообщить, вывод на форме) раз в 10 медленнее операции какого-нибудь действия. не стало ли в разы медленнее, но с информацией? =)
Оставьте свое сообщение