На первый взгляд делов-то - подключить внешнюю обработку и вызвать метод в фоне.
Сложность в том, что функция ФоновыеЗадания.Выполнить(<ИмяМетода>, <Параметры>, <Ключ>, <Наименование>) требует в первом параметре указать имя процедуры, доступной отовсюду. А его такого нету.
Благо в БСП есть ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки, которой можно передать имя файла внешней обработки, имя вызываемой процедуры и параметры.
// Собственно ради этой процедуры разработка и затеяна
ИмяФайлаНаСервере = ПолучитьИмяВременногоФайла("epf");
ДанныеФайла = ПолучитьИзВременногоХранилища(АрдесФайлаНаСервере);
ДанныеФайла.Записать(ИмяФайлаНаСервере) ;
ИмяОбработки = "ПримерВнешнейОбработкиВФоне";
ИмяМетода = "ТестовыйМетод";
ПараметрыВыполнения = Новый Структура("КоличествоЦиклов,ВызыватьИсключение",
КоличествоЦиклов, ВызыватьИсключение);
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки = Новый Структура;
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки.Вставить("БезопасныйРежим", Ложь);
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки.Вставить("ЭтоВнешняяОбработка", Истина);
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки.Вставить("ИмяОбработки", ИмяФайлаНаСервере); // ИмяОбработки);
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки.Вставить("ИмяМетода", ИмяМетода);
ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки.Вставить("ПараметрыВыполнения", ПараметрыВыполнения);
МассивПараметры = Новый Массив;
МассивПараметры.Добавить(ПараметрыВыполнитьПроцедуруМодуляОбъектаОбработки);
МассивПараметры.Добавить(Неопределено); // АдресХранилища - непонятный второй параметр функции ВыполнитьПроцедуруМодуляОбъектаОбработки
Задание = ФоновыеЗадания.Выполнить("ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки",
МассивПараметры,
, "Запуск тестового задания");
ИдентификаторЗадания = Задание.УникальныйИдентификатор;
Оказалось, что БСП 3.1.10.226 ждёт не имя подключённой внешней обработки, а имя файла.
Процедура в модуле обработки должна принимать два параметра. Первый типа Структура - собственно параметры. Второй - непонятный идентификатор.
Процедура ТестовыйМетод(ПараметрыВыполнения, НекийПараметр = Неопределено) Экспорт
В прикреплении пример обработки.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.17.117