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

Petro Bazeliuk —  Октябрь 9, 2015 — Оставьте комментарий

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

Минимальные требования

  • версия платформы «1С:Предприятие 8» — не ниже 8.3.3.641;
  • версия БСП в конфигурации — не ниже 2.1.3.50;
  • разработка предназначена для управляемых форм;
  • обработка должна быть подключена к базе с помощью механизма БСП.

Схема работы методики

  1. процедура «ПриСозданииНаСервере» сохраняет ссылку на дополнительную обработку, определяет вариант работы информационной базы (файловый, клиент-серверный) и инициализирует количество асинхронных заданий;
  2. при нажатии кнопки «Старт» происходит запуск асинхронных заданий и подключается обработчик ожидания, который следит за работой заданий;
  3. при каждом срабатывании обработчика ожидания, выполняется обновление индикаторов прогресса;
  4. при завершении асинхронного задания, в форму приходит оповещение с результатом работы, который, в свою очередь, загружается в форму.

Технические нюансы

  • результаты работы асинхронного задания передаются с помощью адреса временного хранилища формы;
  • данные для индикатора прогресса в файловом варианте передаются с помощью адреса временного хранилища формы;
  • данные для индикатора прогресса в клиент-серверном варианте передаются с помощью «СообщениеПользователю» потому, что помещение данных из фонового задания в родительский сеанс происходит после завершения работы задания;
  • результаты заданий загружаются последовательно в файловом варианте и в произвольном порядке в клиент-серверном варианте;
  • в процессе работы не блокируется ни интерфейс, ни сама форма.

Обработку можно скачать по ссылке: Асинхронная загрузка данных на форму

Petro Bazeliuk

Записи

Опыт работы с «1С:Предприятие 8» — более 10 лет, за это время реализовано 30 успешных проектов по итеративным методологиям Scrum и Kanban. Оптимальные решения для высоконагруженных ИБ с онлайном от 400 человек. Занимаюсь продвижением в массы системы контроля версий — git и методики git-flow, TDD, BDD, а также проработкой паттерна минимальной модификации конфигурации и внесением изменений без обновления базы данных. Время от времени участвую в проекте xUnitFor1C.

Комментариев нет

Be the first to start the conversation!

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s