В данной задаче я рассмотрю 2 примера - это "проведение документов" и "загрузка на сервер с обработкой внешнего Excel файла".
Итак, первый пример:
Мы получаем список документов стандартным методом кнопкой "Обновить период" с отбором по организации, затем нажимаем кнопку "Начать проведение" - запускаем данный процесс - индикатор начинает работать.
По достижению 100% - документы проведены. Так же, я разместил "статус бар", который показывает какой документ обрабатывается в текущий момент.
Вторая задача. Здесь, мы должны загрузить Excel (xlsx) файл на сервер и отследить статус его обработки:
Достаточно выбрать Excel файл (читается методом самой платформы), затем, нажимаем кнопку "Загрузить файл". По ходу выполнения обработки - идет индикатор, указывается статус, и в реквизите формы "табличная часть" заполняется колонка "торговая точка" по мере обработки строки.
Для решения данных примеров я использовал Платформу 8.3.13.1865 и Конфигурацию УТ 11.3 (в принципе может быть любой другой, но на УФ).
Дополнительных условий не требуется.
"Основная" клиентская функция данных обработок вот такая:
ТекВремя = ТекущаяДата();
ТекущийДокумент =0;
ВсегоДокументов =Объект.СписокДокументов.Количество();
Для Каждого Стр11 ИЗ Объект.СписокДокументов Цикл
СостояниеОбработки = "Обрабатываем документ: "+ Стр11.Реализация;
НачатьПроведениеСервер(Стр11.Реализация); // обращение на сервер
ТекущийДокумент = ТекущийДокумент + 1;
Индикатор = ТекущийДокумент/ВсегоДокументов*100;
ОбработкаПрерыванияПользователя();
ОбновитьОтображениеДанных();
КонецЦикла;
СостояниеОбработки = "Документы проведены за "+ СокрЛП(ТекущаяДата() - ТекВремя) + " сек.";
Буду рад, если данные примеры помогут вам. Так же хочу сказать спасибо автору вот этой публикации, которая сподвигла меня написать эту маленькую шпаргалку - памятку.
Спасибо всем за прочтение. Надеюсь, материал полезен!