Индикатор на управляемой форме

30.12.22

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

Доброго времени! Примеры данной публикации помогут всем, кто хочет использовать индикатор на управляемых формах. В публикации я предлагаю простое рабочее решение по отслеживанию процесса выполнения обработок на управляемых формах.

Скачать файлы

Наименование Файл Версия Размер
Проведение документов прогресс-бар
.epf 9,93Kb
42
.epf 9,93Kb 42 Скачать
Загрузка из Excel и обработка с прогресс-бар:
.epf 9,70Kb
29
.epf 9,70Kb 29 Скачать
Пример загружаемого Excel файлв
.xlsx 13,35Kb
5
.xlsx 13,35Kb 5 Скачать

В данной задаче я рассмотрю 2 примера - это "проведение документов" и "загрузка на сервер с обработкой внешнего Excel файла".

Итак, первый пример:

Мы получаем список документов стандартным методом кнопкой "Обновить период" с отбором по организации, затем нажимаем кнопку "Начать проведение"  - запускаем данный процесс - индикатор начинает работать.

По достижению 100% - документы проведены. Так же, я разместил "статус бар", который показывает какой документ обрабатывается в текущий момент.

 

Вторая задача. Здесь, мы должны загрузить Excel (xlsx) файл на сервер и отследить статус его обработки:

 

Достаточно выбрать Excel файл (читается методом самой платформы), затем, нажимаем кнопку "Загрузить файл". По ходу выполнения обработки - идет индикатор, указывается статус, и в реквизите формы "табличная часть" заполняется колонка  "торговая точка" по мере обработки строки.

Для решения данных примеров я использовал Платформу 8.3.13.1865 и Конфигурацию УТ 11.3 (в принципе может быть любой другой, но на УФ).

Дополнительных условий не требуется.

"Основная" клиентская функция данных обработок вот такая:

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

 

Буду рад, если данные примеры помогут вам. Так же хочу сказать спасибо автору вот этой публикации, которая сподвигла меня написать эту маленькую шпаргалку - памятку.

Спасибо всем за прочтение. Надеюсь, материал полезен!

индикатор управляемые формы загрузка excel отслеживание статуса выполнения

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

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

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

6000 руб.

16.01.2015    61707    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

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

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

5000 руб.

14.01.2016    54320    16    21    

42

Управление дашбордами

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

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

2400 руб.

29.06.2020    16625    21    4    

35

Новогоднее оформление для 1С

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

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

27.12.2023    10567    745    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9486    150    acces969    31    

115

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3581    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12013    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RocKeR_13 1314 19.08.19 09:00 Сейчас в теме
При большом количестве обращений на сервер лучше уж запускать в фоне с отображением прогресс-бара (или так)
unichkin; user1619761; Anton-i-oni; wowik; PLAstic; 7OH; rpgshnik; +7 Ответить
2. aximo 2027 19.08.19 09:27 Сейчас в теме
(1) вторая ссылка у меня указана в публикации. Совершенно верно!
3. RocKeR_13 1314 19.08.19 09:28 Сейчас в теме
4. PLAstic 295 19.08.19 16:18 Сейчас в теме
Чисто побрюзжать.

Я бы рекомендовал бить себя по рукам каждый раз за конкатенацию строк вместо СтрШаблон() и за имена переменных вроде Стр11.
user1619761; Eillecho; LAV_1Sintez; u_n_k_n_o_w_n; Serj1C; rpgshnik; DmitrySinichnikov; +7 Ответить
5. antonkms88 19.08.19 18:27 Сейчас в теме
(4) поясните пожалуйста для простых смертных, чем вам конкатенация не угодила?
12. PLAstic 295 20.08.19 10:09 Сейчас в теме
(5)
1) Быстродействие.
2) Представь ШаблонСообщения = НСтр("ru = 'Объём работ ""%1"" на поле %2 (%3 га) превышает площадь поля (%4 га) в цикле обработки %5'") в виде конкатенации и не сломай мозг.
20. Lapitskiy 1057 21.08.19 07:42 Сейчас в теме
(5) быстродействие - лично проверял, простое сложение строк - это очень медленно
22. VmvLer 21.08.19 09:31 Сейчас в теме
(20) Согласен и это не раз уже было доказано в том числе и тут

поэтому придумали системный костыль СтрСоединить()
6. ArchLord42 83 19.08.19 18:38 Сейчас в теме
(4) кстати говоря, СтрШаблон очевидно медленее, чем простая конкатинация, при этом разница примерно 20%, так что смотря в каких условиях, а так да, читабельность как минимум лучше.
7OH; Summer_13; d_neon; +3 Ответить
10. PLAstic 295 20.08.19 09:13 Сейчас в теме
(6) Бегло поискал, не нашёл. Была разгромная статья про быстродействие различных способов соединения строк и там раза в полтора оказался быстрее обычной конкатенации СтрШаблон(). Собственно, это не единственный способ, который быстрее обычной конкатенации, их ещё два как минимум. :)
Aleskey_K; +1 Ответить
15. ArchLord42 83 20.08.19 14:29 Сейчас в теме
(10)

вот вам не статья, а реальный замер :)
Прикрепленные файлы:
SlavaKron; insurgut; +2 Ответить
16. PLAstic 295 20.08.19 14:53 Сейчас в теме
(15) Шта??? У тебя сферический процессор в вакууме занимается выполнением одной задачи? Включай замер производительности и вторую картинку в ответ.
Светлый ум; +1 Ответить
18. ArchLord42 83 20.08.19 17:26 Сейчас в теме
(16)

шта???

тебя


А вы точно, ИС с ми стой не перепутали? Не помню чтобы я с вами гдето братовался :(

У тебя сферический процессор в вакууме занимается выполнением одной задачи


Смелое заявление, только вот если бы он занимался чем то другим, то ему ничего не мешало бы повлиять и на замер производительности или замер как то отдельно от процессора расчитывается ?)
Lapitskiy; +1 Ответить
25. PLAstic 295 21.08.19 11:58 Сейчас в теме
(18) Именно. Замер по миллисекундам идёт в отрыве от процесса. Процессор занимается обслуживанием всех процессов, поэтому давай нагрузим его каким-нибудь копированием по сети и проведём замер, а потом при вычищенных процессах. Ты не знаешь, сколько времени процессор реально уделил твоим расчётам.
17. PLAstic 295 20.08.19 15:29 Сейчас в теме
(15) Вот замеры на реальной ситуации. Сообщение с 5 параметрами вполне реальное. Разрыв по времени ничтожен и с ростом кол-ва параметров уменьшается.
У меня не HLBD, конечно, но потуги отстаивать рудименты пятилетней давности (СтрШаблон появился 5 лет назад) выглядят как минимум нелепо.
Вдобавок, просто знайте, что это нарушение стандартов и методик разработки 1С. Специально зашёл и ещё раз проверил наличие там этого стандарта.
Прикрепленные файлы:
19. ArchLord42 83 20.08.19 17:32 Сейчас в теме
(17)
но потуги отстаивать рудименты пятилетней давности (СтрШаблон появился 5 лет назад) выглядят как минимум нелепо.


эээмм...я все понимаю, но надо же читать иногда комменты до конца, а не начинать брызгать слюной после первых 3 слов :)

так что смотря в каких условиях


Что можно перести так, "слепо юзать СтрШаблон так же не стоит", я не призываю его не юзать ибо это реально удобней, но в определенных условиях он начинает проигрывать самому простому способу.
24. SlavaKron 21.08.19 11:53 Сейчас в теме
(17) У вас некорректный замер в отличие от (15). Для выяснения реальной производительности, отладка должна быть выключена. По факту у вас основное время потратилось на переходы в цикле и фиксация их отладкой, поэтому числа у вас "грязные" — доля самой конкатенации в них мала.
26. PLAstic 295 21.08.19 12:00 Сейчас в теме
(24) Переходы в цикле и фиксация их отладкой были зафиксированы в отдельных строках таблицы, я их замазал. Имхо, отладка равномерно влияет на все команды, поэтому процентное отношение считаю верным.
И, Вячеслав, удиви меня, плз, технологией замера производительности без отладки?
Прикрепленные файлы:
27. SlavaKron 21.08.19 12:03 Сейчас в теме
(26)
процентное отношение считаю верным

2 / 3 <> 42 / 43
28. PLAstic 295 21.08.19 12:10 Сейчас в теме
9. Serj1C 483 20.08.19 08:38 Сейчас в теме
(4) Для коротких строк в контатенации нет ничего критичного. А переменные Стр11, ТекВремя - это да, плохо)
11. YanTsys 12 20.08.19 10:03 Сейчас в теме
(4) Был момент когда приходилось удалять эти новомодные функции из загружаемых обработок для тех пользователей у которых стояла более старая платформа, в то время гнилые помидоры летели в тех программистов которые использовали эти функции :)
7. DmitrySinichnikov 285 19.08.19 19:54 Сейчас в теме
То есть в цикле долбиться на сервер, даааа... решение. Вы бы хотя бы порционность сделали для приличия. Не ну понятно что и так работает, но вот потом подобные выкрутасы встречаешь и переписываешь... С матом...
vis_tmp; shiaju; PLAstic; u_n_k_n_o_w_n; Serj1C; +5 1 Ответить
8. ids79 8275 19.08.19 20:38 Сейчас в теме
Пожалуйста. Рад, что моя публикация сподвигла Вас на написание своей.
13. YanTsys 12 20.08.19 10:11 Сейчас в теме
Если перед вашей процедурой
НачатьПроведениеСервер(Стр11.Реализация);    // обращение на сервер

стоит директива &НаСервере
то эта статья просто эпик фейл
PLAstic; Yashazz; +2 Ответить
14. ambrozii 20.08.19 10:35 Сейчас в теме
(13) да, блин, тут 99.(9)% публикаций такие.
21. VmvLer 21.08.19 09:29 Сейчас в теме
(0) да чепуха это все и будет через пень-колоду работать когда у вас есть коллекция: список отобранных строк, тз, тч и т.д.

В реале в "тормознутых" процессах редко можно вычислить коллекции именно поэтому адетпы типовых отправляют такие процессы в фон и на вид вылезает котик. Я к котику еще прикрутил счетчик "прошло времени...1 час 2 минуты 5 сек..."

Считаю, что разработчики типовых реализовали механизм логически верно, а все попытки "насиловать" сервер передачами
управления с клиента ради бегунка - понты для приезжих.
23. Yashazz 4707 21.08.19 11:38 Сейчас в теме
(21) Соглашусь. Не публикация, а позорище. Причём не содержанием своим даже, а тем, что "это" оказалось в центре внимания и уже столько плюсов нагребло. Совсем уже докатились. Примитивный клиентский код с адским примером вызова сервера в цикле, за который убивать надо, а подаётся как откровение свыше.
klaus38; shiaju; +2 Ответить
29. serega_sun 29.04.21 10:48 Сейчас в теме
У меня почему-то такой пример не работает. Платформа 8.3.18.1363
Индикатор показывает только последнее состояние.
Это в платформе изменения или я что-то не так сделал?
30. Sasha255n 29.12.22 18:59 Сейчас в теме
(29) И у меня так почему то?
Оставьте свое сообщение