Индикация процесса выполнения в управляемых формах для БСП без изменения конфигурации

23.08.13

Разработка - БСП (Библиотека стандартных подсистем)

Шаблон обработки, который покажет как сделать удобный для пользователя индикатор текущего выполнения длительной операции. При этом не потребует от Вам глубоких знаний в работе фоновых заданий.

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

Наименование Файл Версия Размер
Обработка
.epf 9,82Kb
116
.epf 9,82Kb 116 Скачать

Обработка сделана как шаблон, по мотивам //infostart.ru/public/159607/ 

В отличии от предшественников данная обработа имеет преимущества:

1) Работает в последних версиях БСП, в УТ 11.1.2+ в частности

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

3) Фоновое задание не остается безконтрольно повисшим на сервере. При закрытии формы проверяется и в случае необходимости происходит завершение задания.

Прогресс бар Индикатор прогресса

См. также

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1121    dimanich70    6    

13

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    639    FilippovRI    0    

14

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.02.2024    2260    YA_418728146    11    

38

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    4673    PROSTO-1C    5    

45

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

БСП (Библиотека стандартных подсистем) Мероприятия Бесплатно (free)

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3758    0    Infostart    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4733    mrXoxot    11    

97
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. seermak 665 26.08.13 09:04 Сейчас в теме
ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
=Подключает вызов указанной процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля через определенный интервал времени. Вызов будет осуществляться только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий.= т.е. при выполнении длительной процедуры вся эта конструкция работать не будет т.к. "состояние покоя" не предвидится, а запускать обработку как игрушку....
2. Angry 11 27.08.13 02:23 Сейчас в теме
(1) seermak, Эта обработка ориентирована на выполнение основной части в фоне на сервере. Потому клиент как раз таки будет простаивать.
В файловом варианте к стати надо потестить, особенно на 8.3
3. greystone 40 04.08.14 14:30 Сейчас в теме
&НаКлиенте
Процедура ВывестиПрогрессБар() //Индикатор


//&НаКлиенте
	//Перем ТекАдрессПрогрессБара;
		
	//&НаКлиенте
	//Процедура СоздатьДокументыКорректировкаДолга(Команда)
	//	
	//	СтруктураПрогресса = Новый Структура("ТекТекст, ТекПрогресс, ТекПояснение", "начало выполнения обработки", 0, "");
	//	ТекАдрессПрогрессБара = ПоместитьВоВременноеХранилище(СтруктураПрогресса, УникальныйИдентификатор);
	//	ПодключитьОбработчикОжидания("ВывестиПрогрессБар", 1);
	//	
	//	ЕстьОшибки = СоздатьДокументыКорректировкаДолгаНаСервере(ТекАдрессПрогрессБара);
	//	Если ЕстьОшибки Тогда
	//		Предупреждение("Есть ошибки. Не все документы сформированы", 15);
	//	КонецЕсли;
	//	
	//	ОтключитьОбработчикОжидания("ВывестиПрогрессБар");
	//	
	//КонецПроцедуры

	//&НаСервере
	//Функция СоздатьДокументыКорректировкаДолгаНаСервере(ТекАдрессПрогрессБара)
	//	
	//	Сообщение = Новый СообщениеПользователю;
	//	Сообщение.Текст = "Начали создавать документы!";
	//	//Сообщение.Поле = "Создание документов";
	//	Сообщение.Сообщить();
	//	
	//	ЕстьОшибки = Ложь;

	//	КолвоВсего = ТаблицаКорректировкиДолга.Количество();
	//	ВремяНачала = ТекущаяДата();
	//	Ном = 0;
	//	
	//	...........


	//	Ном = Ном + 1;
	//	ТекПрогресс = Ном / (КолвоВсего/100);
	//	ВремяПромежутокВсего = (ТекущаяДата() - ВремяНачала) /  Ном * КолвоВсего;
	//	ТекСообщение = "Обрабатано: " + Стр.Контрагент;
	//	ТекПояснение = "Время окончания: " + (ВремяНачала + ВремяПромежутокВсего);
	//	СтруктураПрогресса = Новый Структура("ТекТекст, ТекПрогресс, ТекПояснение", ТекСообщение, ТекПрогресс, ТекПояснение);
	//	ПоместитьВоВременноеХранилище(СтруктураПрогресса, ТекАдрессПрогрессБара);
	//	
	//	Сообщение = Новый СообщениеПользователю;
	//	Сообщение.Текст = "Закончили создавать документы!";
	//	Сообщение.Поле = "Создание документов";
	//	Сообщение.Сообщить();
	//	
	//	Возврат ЕстьОшибки;
	//	
	//	
	//КонецФункции
	
	СтруктураПрогресса = ПолучитьИзВременногоХранилища(ТекАдрессПрогрессБара);
	Состояние(СтруктураПрогресса.ТекТекст, СтруктураПрогресса.ТекПрогресс, СтруктураПрогресса.ТекПояснение);
	
КонецПроцедуры
Показать
4. greystone 40 07.08.14 11:10 Сейчас в теме
на клиенте обработчик ожидания и правда не работает,
но на клиенте ещё проще

КонечнаяСтрока = ВысотаШапки + 1;    
	КолвоВсего = ВходExcel.Sheets(НомерЛиста).UsedRange.Rows.Count();
	ВремяНачала = ТекущаяДата();
	
	Пока КонечнаяСтрока < КолвоВсего + 1  Цикл     

             .................код
                КонечнаяСтрока = КонечнаяСтрока + 1;
		ВремяПромежутокВсего = (ТекущаяДата() - ВремяНачала) /  КонечнаяСтрока * КолвоВсего;		           
		ТекПрогресс = КонечнаяСтрока / (КолвоВсего/100);
		ТекСообщение = "Обрабатано: " + КонечнаяСтрока + " из " + КолвоВсего;
		ТекПояснение = "Время окончания: " + (ВремяНачала + ВремяПромежутокВсего);
		Состояние(ТекСообщение, ТекПрогресс, ТекПояснение);
		
	КонецЦикла;
Показать
5. Angry 11 07.08.14 12:29 Сейчас в теме
(4) greystone, Но при этом программа как бы подвиснет, а при запуске в фоне, можете продолжить работать, при этом видите прогресс задачи.
6. Novichok777 25 17.07.15 09:04 Сейчас в теме
Обработка сыровата. При нажатии на кнопку "Завершить" выпадает сообщение
"{Форма.Форма.Форма(137)}: Значение не является значением объектного типа (Отменить)
Задание.Отменить();"
Индикация процесса, дойдя до 9%, так и висит, ничего дальше не происходит, помогает только "крест".
Окно с процессом появляется на секунду и исчезает примерно на 1 мин, не очень удобно, хорошо бы видеть процесс постоянно, но это видимо особенности клиент-серверной платформы 1с.
Проверялось на базе БП 3.0 (MS SQL), БСП 2.2.5.32 (файловый) платформа 8.3.6.2014, режим "тонкий клиент".
7. Angry 11 17.07.15 15:40 Сейчас в теме
(6) Novichok777, Да БСП с того времени далеко ушел, наверно пора актуализировать, с текущими версиями может и глючить.
Да в платформе окно с индикацией прогресса плавно тухнет и нет возможности им управлять. Единственный способ - это сделать более частое обновление прогресса, оно настраивается в коде..
Оставьте свое сообщение