Шаблон прогресс бара для 1С


Просто перетащите "ФормуПроцесса" из этой обработки в свою и добавьте отображение показателей по аналогии с приведенным ниже примером:

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

Скачать:
16021_Shablon_progress_bara.zip