Индикатор на управляемой форме
Разработка - Работа с интерфейсом
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
В данной задаче я рассмотрю 2 примера - это "проведение документов" и "загрузка на сервер с обработкой внешнего Excel файла".
Итак, первый пример:

Мы получаем список документов стандартным методом кнопкой "Обновить период" с отбором по организации, затем нажимаем кнопку "Начать проведение" - запускаем данный процесс - индикатор начинает работать.
По достижению 100% - документы проведены. Так же, я разместил "статус бар", который показывает какой документ обрабатывается в текущий момент.
Вторая задача. Здесь, мы должны загрузить Excel (xlsx) файл на сервер и отследить статус его обработки:

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