Суть технологии БСП вкратце: серверный алгоритм (в данном случае - процедура модуля обработки) запускается отдельным фоновым заданием, прогресс выполнения которого довольно остроумно считывается обработкой ожидания на клиенте из стандартного серверного пула сообщений пользователю.
Данная разработка потребовалась по причине того, что не удалось найти готового "кристаллизованного" примера реализации этой технологии с использованием механизмов БСП.
В БСП эта технология применена в обработках удаления помеченных объектов и группового изменения объектов.
При наличии времени и желания - можно разобраться в их реализации. Мой шаблон просто сэкономит Вам время.
Периодичность записи прогресса на сервере задается в "ПараметрыДлительнойОперации.Вставить("ПериодЗаписи", 1)", периодичность опроса прогресса на клиенте - в "ПараметрыОбработчикаОжиданияДлительнойОперации.МаксимальныйИнтервал = 1". То есть по умолчанию - одна секунда.
Шаблон обработки можно использовать как "черный ящик". Серверный алгоритм реализуется в процедуре модуля обработки "ИсполнитьАлгоритмДлительнойОперации()". Запуск серверного алгоритма и передача параметров - в процедуре модуля формы ФоновоеЗаданиеДлительнойОперацииЗапустить(). Обработка результатов на клиенте - в процедуре модуля формы ФоновоеЗаданиеДлительнойОперацииЗагрузитьРезультат().
Ограничения использования: для работы требуется интегрированная в конфигурацию подсистема базовой функциональности БСП. Проверено под БСП 2.2. В БСП 2.1 не проверялась. В БСП 2.0 не работает. Внимание! По новой информации, пока не работает в БСП 3.0.3.164 на 8.3.16!
UPD. Реализована поддержка для БСП 2.3 - можно добавлять в справочник дополнительных отчетов и обработок.
UPD. Исправлена работа в БСП 2.3.5 - убраны лишние зависимости на модуль СтандартныеПодсистемыКлиент, который был изменен в БСП 2.3.5