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


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

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

//infostart.ru/public/564617/ и //infostart.ru/public/525648/

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

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

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

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

4 Comments

  1. МимохожийОднако

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

    Reply
  2. s_vidyakin

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

    Reply
  3. scanner1980

    а как сделать то же самое с внешним отчетом? можете дать пример?

    Reply
  4. viplelik

    А она будет работать на новых БСП 3.0.2 и выше?

    Reply

Leave a Comment

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