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