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