1
Andreyyy
22.06.19
✎
23:43
|
(0) Попробуйте так:
&НаКлиенте
ПодключитьОбработчикОжидания("ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА", 2);
&НаСервере
Модуль = Вычислить("ДлительныеОперации");
СтруктураПодключения = Новый Структура(ВАШИ_ПАРАМЕТРЫ_ДЛЯ_ПЕРЕДАЧИ_В_ФОНОВОЕ_ЗАДАНИЕ)
ВыполняемыйМетод = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки";
СтруктураПараметровЗадания = ПараметрыФоновогоЗадания(СтруктураПодключения);
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяМетода", "ВАШ_МЕТОД");
ПараметрыЗадания.Вставить("ПараметрыВыполнения", СтруктураПараметровЗадания);
ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", Неопределено);
ПараметрыЗадания.Вставить("ИмяОбработки", ПУТЬ_К_ФАЙЛУ_ОБРАБОТКИ);
ПараметрыВыполнения = Модуль.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = "ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ";
РезультатФоновогоЗадания = Модуль.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения);
ИдентификаторФоновогоЗадания = РезультатФоновогоЗадания.ИдентификаторЗадания;
ЗапущеноФоновоеЗадание = Истина;
Дальше отлавливать результат в "ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА"
Если ФоновоеЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда
|
|
2
Andreyyy
22.06.19
✎
23:46
|
&НаСервере
Функция ПараметрыФоновогоЗадания(СтруктураПодключения)
АдресРезультатаФоновогоЗадания = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
СтруктураПараметровЗадания = Новый Массив;
СтруктураПараметровЗадания.Добавить(УникальныйИдентификатор);
СтруктураПараметровЗадания.Добавить(АдресРезультатаФоновогоЗадания);
Возврат(СтруктураПараметровЗадания);
КонецФункции
"ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА"
Если ФоновоеЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда
РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресРезультатаФоновогоЗадания);
|
|
3
Andreyyy
22.06.19
✎
23:48
|
Здесь можно полный код посмотреть (форма списка)
Только:
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", СтруктураПараметров.ДополнительнаяОбработка);
заменить на:
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", Неопределено);
ПараметрыЗадания.Вставить("ИмяОбработки", ПУТЬ_К_ФАЙЛУ_ОБРАБОТКИ);
|
|