Имя: Пароль:
1C
1С v8
Фоновые задания, возращаемое значение
,
0 Valadis
 
16.01.17
11:26
Добрый день!
Есть результат запроса, выгруженный в таблицу значений. Создаю несколко фоновых заданий и по частям передаю процедуре фонового задания эту таблицу значений:
Адрес =ПоместитьВоВременноеХранилище(0,КлючУникальности);
НаборПараметров.Добавить(ТЗ);
НаборПараметров.Добавить(ИндексНачала);
НаборПараметров.Добавить(РазмерПорции);
НаборПараметров.Добавить(Адрес);            
Задание = ФоновыеЗадания.Выполнить("ОбщегоНазначения_НТ.СформироватьДокумент", НаборПараметров);
МассивЗаданий.Добавить(Задание);
МассивАдресов.Добавить(Адрес);

Если МассивЗаданий.Количество() > 0 Тогда
Попытка                 ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);
Исключение
КонецПопытки;
КонецЕсли;
СтрокаТекста = "";
Для каждого Эл Из МассивАдресов Цикл
рез = получитьИзВременногохранилища(Адрес);    
СтрокаТекста = СтрокаТекста + рез;
КонецЦикла;



Процедура серверного модуля возвращает некоторый текст, полученный из таблицы значений, путем преобразований и этот текст помещается во временное хранилище:
Процедура СформироватьДокумент(ТЗ, ИндексНачала, РазмерПорции, Ключ) Экспорт
    ТД = Новый ТекстовыйДокумент;
    //Обработка данных
   ПоместитьВоВременноеХранилище(ТД.ПолучитьТекст(), Ключ);
КонецПроцедуры

Вопрос вот какой - в вызывающей процедуре я могу получить текст (результат работы ФЗ) только если у меня работает один поток (количество потоков я задаю вручную). Если потоков больше одного по каждому адресу из массива адресов возвращается пустая строка.

Кто сталкивался с такой проблемой? Что можете предложить?