Исходная ситуация - есть большое количество баз, к которым можно подключиться через HTTP/Web сервис и вызвать произвольный код и хочется уйти от "выполнить код" к запуску внешнего отчета/обработки. Причем хочется делать это в фоновом задании.
Для "свежих" версий БСП это реализуется вызовом ДлительныеОперации.ВыполнитьПроцедуру с передачей Двоичных данных отчета/обработки в параметр фонового задания ВнешнийОтчетОбработка
ПараметрыВыполненияФоновогоЗадания = ДлительныеОперации.ПараметрыВыполненияПроцедуры();
Если ПараметрыВыполненияФоновогоЗадания.Свойство("ВнешнийОтчетОбработка") Тогда
// Это свежая версия БСП, которая поддерживает выполнение внешних отчетов/обработок в фоновых заданиях
ПараметрыВыполненияФоновогоЗадания.ВнешнийОтчетОбработка = ДвоичныеДанные;
Результат = ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВыполненияФоновогоЗадания,
"ВнешняяОбработка.УдаленноеУправление.МодульОбъекта." + ИмяМетодаОбработки, Параметр1);
Иначе
ВызватьИсключение "Фоновое выполнение не подерживается БСП";
КонецЕсли;
Важное замечание по формированию имени метода
1. БСП ожидает, что в имени метода будет 4 части разделенные "." (точкой) - например "ВнешняяОбработка.УдаленноеУправление.МодульОбъекта.ВызовМетода"
2. Первая часть имени должна быть обязательно "ВнешняяОбработка" или "ВнешнийОтчет"
3. Имя выполняемого метода должно быть 4й частью имени метода.
Вступайте в нашу телеграмм-группу Инфостарт