Сравнение асинхронной модели и синхронной модели в «1С:Предприятие 8»
Асинхронная модель и синхронной модель. Что лучше?

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

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

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

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

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

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

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

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

От pbazeliuk

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

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