Выполнение внешней обработки в фоне на базе БСП

Программирование - Инструментарий

Выполнение внешней обработки в фоне с выводом прогресса. Работает как для обработок в дополнительных отчетах и обработках, так и для внешней обработки запускаемой через Файл/Открыть. Так же работает если встроить обработку в конфигурацию или в расширение. Показан пример как стандартного БСП прогресса, так и пример нестандартного прогресса. Показана передача параметров в фоновое задание и возврат результата.

Возникла передо мной задача выполнить внешнюю обработку с индикацией прогресса выполнения. Поиском в интернете были найдены варианты через ВыполнитьКоманду и  через ВыполнитьПроцедуруМодуляОбъектаОбработки.

//catalog.1c-e.ru/public/564617/ и //catalog.1c-e.ru/public/525648/

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

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

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

Проверено на платформе 8.3.10.2466 БСП 2.3.5.

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

Наименование Файл Версия Размер
ТестДлительныхОпераций
.epf 8,94Kb
21.03.18
11
.epf 1.0 8,94Kb 11 Скачать

См. также

Комментарии
1. Александр Дмитриев (МимохожийОднако) 120 28.03.18 08:32 Сейчас в теме
Было бы неплохо привести пример используемого кода как в найденных ссылках. Интереснее описание алгоритма нежели готовая обработка
Оставьте свое сообщение