Прогресс бар и серверная процедура (тонкий клиент)

Публикация № 624258

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

Прогрессбар прогресс бар прогресс обработка состояние клиент сервер фоновое задание

В данной публикации показан пример использования прогресс бара для серверной процедуры с использованием фонового задания (Тонкий клиент).

Как известно, в клиент-серверном режиме 1С прогресс бар (или функция "состояние") бесполезны, если процедура выполняется на сервере.

Одним из решением данной задачи является использование фонового задания. Ниже покажу пример , как это использовать.

Идея заключается в следующем:

1. Запускаем фоновое задание

&НаСервере
Процедура ЗапуститьФоновоеЗадание()

	// в данное хранилище можно в обработчике поместить результат выполнения операции 
	// на форме должен быть реквизит "АдресВременногоХранилища" с типом "строка"
	АдресВременногоХранилища = ПоместитьВоВременноеХранилище("", ЭтаФорма.УникальныйИдентификатор); 	
	
	ПараметрыФоновогоЗадания = Новый Массив;	
	ПараметрыФоновогоЗадания.Добавить(АдресВременногоХранилища);   	// параметр 1	
	ПараметрыФоновогоЗадания.Добавить(ТаблицаДанных.Выгрузить());	// параметр 2
	
	// запускаем фоновое задание и храним его ID
	// на форме должеь быть реквизит "ID_ФоновогоЗадания" с типом "УникальныйИдентификатор"
	ID_ФоновогоЗадания = ФоновыеЗадания.Выполнить("ОбработчикиФоновыхЗаданий.ВыполнитьОперациюСПрогрессБаром", 
				ПараметрыФоновогоЗадания, Новый УникальныйИдентификатор, "Загрука").УникальныйИдентификатор;

КонецПроцедуры

2. Мониторим состояние выполнения процедуры, путем считывания сообщения пользователю

&НаКлиенте
Процедура ОбновлениеСостояния() Экспорт

	ТекущееЗначение = Прогресс;
	Если ПолучитьСостояниеФоновогоЗадания(ТекущееЗначение) Тогда
		Прогресс = 100;
		ОтключитьОбработчикОжидания("ОбновлениеСостояния");
		// получим результат выполнения 
		РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
		Сообщить(РезультатВыполнения);
	Иначе
		// обновим значение прогресса 
		Прогресс = ТекущееЗначение;
	КонецЕсли;	

КонецПроцедуры

&НаСервере
Функция ПолучитьСостояниеФоновогоЗадания(ТекущееЗначение)
	ФЗ = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ID_ФоновогоЗадания);
	Сообщения = ФЗ.ПолучитьСообщенияПользователю(Истина);
	Если Сообщения.Количество()>0 Тогда
		ТекущееЗначение = Число(Сообщения[Сообщения.ВГраница()].Текст);
	Иначе
		ТекущееЗначение = ТекущееЗначение;
	КонецЕсли;
	Если ФЗ.Состояние <> СостояниеФоновогоЗадания.Активно Тогда
		Если ФЗ.Состояние <> СостояниеФоновогоЗадания.Активно 
			И ФЗ.Состояние <> СостояниеФоновогоЗадания.Завершено Тогда
			// ошибка выполнения
			ИнформацияОбОшибке = ФЗ.ИнформацияОбОшибке.Описание;
		КонецЕсли;			
	КонецЕсли;	
	Возврат ФЗ.Состояние <> СостояниеФоновогоЗадания.Активно;
КонецФункции 

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

	// получим результат выполнения 
	РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
	Сообщить(РезультатВыполнения);

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

Наименование Файл Версия Размер
Конфигурация с примером прогресс бара

.cf 10,25Kb
19.05.17
33
.cf 10,25Kb 33 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Рейтинг 1-го уровня
4. surikateg 19.05.17 15:39 Сейчас в теме
Да, так оно и работает. Если честно синтаксис для такой рядовой функции как отслеживание длительной операции, должен выглядеть проще. А такие выкрутасы говорят об убогости языка предоставляемого программистам для разработки. Зато это позволяет увеличить время разработки и цену для клиента.
RIS2020; dev777; +2 Ответить 1
3. Поручик 4420 19.05.17 15:28 Сейчас в теме
Только я один вспомнил, что в БСП это было реализовано в ранних версиях?
5. 7OH 32 24.05.17 10:45 Сейчас в теме
Чтобы новичков не обнадёживать - это ведь возможно только для обработок, находящихся в конфигурации, верно ?
9. kiruha 384 29.05.17 18:33 Сейчас в теме
К сожалению или к счастью в 8.3.11 анонсировали прямое получение данных на клиент с сервера
https://wonderland.v8.1c.ru/blog/peredacha-informatsii-s-servera/
обработка немного запоздала
1. MSConfig 3 19.05.17 14:24 Сейчас в теме
Так это же все в БСП вроде есть.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

1 стартмани

09.09.2019    9759    11    bmk74    1    

Делаем из СКД Excel (ну, почти)

Работа с интерфейсом v8 Абонемент ($m)

Несложный в использовании способ внедрить в обычный отчет СКД возможность редактировать значения ресурсов отчета (а-ля Excel) и получать отредактированные значения для дальнейшей обработки.

1 стартмани

26.01.2020    7699    10    herfis    16    

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

БСП (Библиотека стандартных подсистем) Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП >= 2.3 без изменения конфигурации и встраивания обработки в "Дополнительные отчеты и обработки".

1 стартмани

27.12.2019    8127    11    1sig    12    

Декомпиляция условного оформления

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

23.12.2019    6542    31    XilDen    4    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    30727    147    tormozit    23    

Многоуровневые списки выбора с оформлением элементов

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Данная статья - попытка решить один маленький кусочек большой проблемы платформы 1С, а именно - бедные и невыразительные пользовательские интерфейсы. Поскольку 1С в режиме управляемого приложения позволяет задействовать веб-клиент, то хочется реализовывать интерфейсы как у взрослых веб-приложений - красивые, дружелюбные для пользователя и, желательно, с положительным UX. Возможно, кто-то со мной не согласится и скажет, что учетные системы должны быть строгие и линейные. Но мы все знаем, что 1С - это уже не только про бухгалтерию. Небольшое отступление для разработчиков, работающих с типовыми конфигурациями. Я не знаю, использует ли фирма 1С что-то похожее в своих разработках. Если да, то данная статья навряд ли будет вам полезна.

1 стартмани

17.12.2019    6925    2    azhilichev    5    

Удобный выбор из таблицы/дерева в УФ

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    11640    7    Yashazz    18    

[Механизм интерфейса] Свой флажок (чекбокс)

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Создадим свой флажок для интерфейса, используем простой универсальный алгоритм.

1 стартмани

09.08.2019    14131    16    rpgshnik    43    

Открывашка ячеек таблиц Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    15824    12    tormozit    31    

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

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример простого удобного отбора любых данных ссылочного типа на управляемой форме. Работа обработки проверена на релизе: 1С:Предприятие 8.3.13.1513.

1 стартмани

09.08.2019    15064    18    nagaitseff    6    

Обработка-редактор HTML

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Редактор HTML для управляемого интерфейса 8.3.

1 стартмани

10.06.2019    6871    52    ValeriVP    11    

Виртуальная (экранная) клавиатура для управляемых форм

Инструментарий разработчика Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Предлагаю свой вариант виртуальной клавиатуры для использования в разработках, предполагающих использование сенсорного ввода.

1 стартмани

14.12.2018    9606    45    asdfgcom    15    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    39082    24    Tatitutu    45    

Рисуем и распознаем нарисованное при помощи нейросети

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Используем нейронную сеть для распознавания нарисованных объектов.

1 стартмани

03.10.2018    13398    43    DO_WHILE_LOOP    28    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    15538    3    1c-intelligence    77    

Продвинутое рисование в табличном документе (стрелок и не только)

Практика программирования Работа с интерфейсом v8 Абонемент ($m)

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    14395    18    WalterMort    29    

Визуализация событий на временной шкале средствами "Поле HTML документа" Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    22413    137    Plotks2017    27    

Иерархическая диаграмма

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Концепция диаграммы по иерархической структуре данных, например по номенклатуре (продажи или остатки на складах).

2 стартмани

17.06.2018    12475    16    DrAku1a    6    

Рисуем стрелки в табличном документе

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуем стрелки средствами 1С .

1 стартмани

01.06.2018    14318    8    pm74    9    

Программная работа с графическими схемами. Готовое решение

Инструментарий разработчика Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Работоспособное, проверенное на практике, простое и удобное программное управление графическими схемами.

1 стартмани

18.02.2018    17382    20    Yashazz    13    

Работа с данными выбора Промо

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    42202    17    kalyaka    16    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    27758    5    kraynev-navi    41    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    29418    32    bonv    10    

Программное создание элементов графической схемы (через XSLT)

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.07.2017    19750    58    lazarenko    16    

Интерактивный интерфейс Промо

Рабочее место Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

29.10.2011    17110    2    Vin_Tik    9    

Простой редактор плана помещения JavaScript

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    19597    91    igel9780    22    

Настройка начальной страницы (Рабочего стола)

Работа с интерфейсом Рабочее место Универсальные обработки v8 1cv8.cf Абонемент ($m)

Альтернатива стандартной настройке начальной страницы. В типовой доступны лишь те формы, что явно "разрешены" разработчиком в режиме конфигуратора. Эта обработка позволяет собрать "Рабочий стол" из любых подходящих форм в пользовательском режиме. Без программирования. БСП не используется. Не расширение. Универсальна, т.е. подойдет для любой конфигурации (в т.ч. самописной).

2 стартмани

19.10.2016    35417    212    Erne100    24    

[Расширение] Стартовые страницы. Автозапуск форм при старте 1С. (8.3.9+, без доработки конфигурации)

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Уверен, что в большинстве случаев список справочников, отчетов, обработок (объектов 1С в целом), к которому обращаются пользователи после запуска конфигурации 1С, раз от раза меняется не сильно. Так почему бы немного не упростить процесс открытия часто используемых форм? Данное расширение позволяет настроить автоматическое открытие различных форм объектов сразу после запуска 1С. Список форм настраивается индивидуально для каждого пользователя. Работает на платформе 8.3.9, без доработки конфигурации.

1 стартмани

03.10.2016    20361    82    Artem-B    20    

Цветовые схемы для конфигуратора 1С (Популярные цветовые схемы для C# - теперь и для 1С) (Теперь 8.2 - 8.3) Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Тёмные цветовые схемы кода. То, что было доступно всем передовым средствам разработки, теперь доступно и на 1С. 13.12.17 UPD: Теперь работает с платформой 8.3

3 стартмани

07.10.2013    33224    81    Chernov_Dmitriy    82    

Конструктор условного оформления

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.09.2016    16251    16    Fragster    7    

HTTP-сервис: отчеты [Расширение]

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    24869    132    Stepa86    15    

Механизм доп. реквизитов и сведений

Практика программирования Работа с интерфейсом v8 БП2.0 Абонемент ($m)

Как к новому справочнику подключить механизм дополнительных реквизитов и сведений

2 стартмани

23.06.2016    24038    29    piffoff    16    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.07.2015    45343    423    ПерваяСистема    147    

Блокировка баннеров при помощи расширения

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Примеры использования расширений

1 стартмани

09.06.2016    13144    12    oslokot    16    

Простые радости жизни программиста 1С: выбор типа значения

Работа с интерфейсом Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    47534    50    yuraos    17    

Визуальный редактор цветовых схем подсветки синтаксиса 1С + импорт схем Visual Studio

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Данная обработка призвана облегчить настройку рабочего места программиста 1С, а именно улучшить визуальное восприятие кода, уменьшить утомляемость, и, как следствие, увеличить общую производительность труда!

1 стартмани

29.01.2016    14667    76    ram3    27    

V8Reader (с расширенным анализом форм) Upd. Промо

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.01.2012    73525    565    bambr1975    298    

Передача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Наверное, многие сталкивались с ситуацией, когда у некоего редактируемого объекта (справочник, документ, внешняя обработка) кроме основной формы нужно сделать парочку дополнительных, чтобы часть реквизитов заполнять в них, а потом возвращать заполненные значения в основную форму и в сам объект. И если бы речь шла об обычных формах, то проблемы бы и не было. Но в управляемых формах с этим возникает проблема, а в случае отказа от модальности она становится немного больше.

1 стартмани

02.11.2015    30762    10    Wolex    29    

Инструмент для создания веб приложений на основе 1С REST сервиса

Инструментарий разработчика WEB Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Обзор платформы-конструктора для создания веб-приложений, использующих в качестве источника базы данных 1С

1 стартмани

13.10.2015    25580    77    dmzubr    23    

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса

Работа с интерфейсом Универсальные функции Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

09.10.2015    34441    127    pbazeliuk    6    

Кнопки управления группировками табличного документа для управляемых форм Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.06.2015    25526    23    unichkin    9    

Визуальный html редактор на управляемых формах

Работа с интерфейсом WEB v8 1cv8.cf Абонемент ($m)

Мы рассмотрим некоторые особенности и возможности подключения сторонних визуальных html редакторов на javascript - TinyMCE, CK Editor. С помощью приложенной обработки Вы сможете попробовать в действии полноценный и удобный визуальный html редактор, а при желании перенести подобный функционал к себе.

1 стартмани

30.09.2015    27313    199    ivanov660    41    

Универсальное настраиваемое рабочее место (Версия 2.0)

Универсальные обработки Работа с интерфейсом Рабочее место v8 1cv8.cf Абонемент ($m)

При работе очень часто штатные интерфейсы 1С бывают неудобны в силу разной специфики работы каждого пользователя, а также конфигурация обычно "обрастает" новыми обработками, отчетами, документами и справочниками, которые требуются для работы организации, а в стандартных меню их, естественно, нет. Это особенно относится к толстому клиенту (например, программы УПП, УТ10.3 и пр.). Делать свои интерфейсы - не всегда спасает: то, что нужно одному пользователю, другому совершенно не надо, даже если у них одинаковые функциональные обязанности. Открывать все через меню "Операции" тоже неудобно: у нас, например, за несколько лет работы добавилось столько нового и специфичного, что уже и не помнишь, что и для чего. Поэтому родилась идея сделать что-то удобное и универсальное, что и получилось в результате: пользователь сам, не прибегая к помощи программиста, может сделать удобное меню для себя и всегда изменить, если требуется. И без всяких изменений конфигурации...

3 стартмани

13.06.2015    16071    54    yuraskid    29    

Альтернативная визуализация данных для 1С 8.3.6

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Нужен приятный Bi Dashboard? Или просто красивый график/диаграмма для сайта? Тогда эта разработка для Вас!

1 стартмани

29.05.2015    29945    78    vano-ekt    3