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

23.08.13

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка
.epf 9,82Kb
116
116 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    5473    25    23    

28

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

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    798    krasnoshchekovpavel    0    

9

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

Как создать внешнюю печатную форму для конфигураций на базе БСП с желанной всеми разработчиками фишкой - автоматическим открытием обработки в конфигураторе с остановкой отладчика внутри процедуры Печать() при выполнении интерактивной команды печати.

24.03.2025    1273    GeraltSnow    5    

27

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

Добавим метки в новый документ средствами БСП.

10.02.2025    4879    John_d    24    

49

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

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

27.12.2024    5337    PROSTO-1C    16    

50

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

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    4966    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    1389    Iaskeliainen    2    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 31 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, Да БСП с того времени далеко ушел, наверно пора актуализировать, с текущими версиями может и глючить.
Да в платформе окно с индикацией прогресса плавно тухнет и нет возможности им управлять. Единственный способ - это сделать более частое обновление прогресса, оно настраивается в коде..
Оставьте свое сообщение