// Пример использования: Запрос=Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура"); Выборка=Запрос.Выполнить().Выбрать(); Всего=Выборка.Количество(); // Инициализация // ФормаПроцесса=ПолучитьФорму("ФормаПроцесса"); ФормаПроцесса.Заголовок="Обработка данных..."; ФормаПроцесса.ЭлементыФормы.ИндикаторПроцесса.МаксимальноеЗначение=Всего; ФормаПроцесса.Открыть(); н=0; /////////////////// Пока Выборка.Следующий() Цикл // Установка текущих значений // н=н+1; ОбработкаПрерыванияПользователя(); ФормаПроцесса.ЭлементыФормы.ТекущийЭлемент.Заголовок=Выборка.Ссылка; ФормаПроцесса.ЭлементыФормы.ИндикаторПроцесса.Значение=н; //////////////////////////////// // Далее непосредственно обработка данных... КонецЦикла; ФормаПроцесса.Закрыть(); // Закрываем форму процесса // (!) Совет: Если записей в выборке достаточно много и обработка одной записи // не занимает продолжительного времени, то не стоит обновлять форму процесса // на каждой итерации, так как это дает очень ощутимое замедление обработки в целом. // Пример обновления состояния для каждой 100-й записи: Пока Выборка.Следующий() Цикл н=н+1; ОбработкаПрерыванияПользователя(); Если н=1 ИЛИ н/100=Цел(н/100) ИЛИ н=Всего Тогда ФормаПроцесса.ЭлементыФормы.ТекущийЭлемент.Заголовок=Выборка.Ссылка; ФормаПроцесса.ЭлементыФормы.ИндикаторПроцесса.Значение=н; КонецЕсли; // ... КонецЦикла;
Шаблон "прогресс бара"
04.07.08
Разработка - Работа с интерфейсом
Простой шаблон, позволяющий быстро подключить к своим обработкам форму с индикатором процесса.
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Просто перетащите "ФормуПроцесса" из этой обработки в свою и добавьте отображение показателей по аналогии с приведенным ниже примером: