Имя: Пароль:
1C
1С v8
Пакет отображаемых документов не записывается в поток в памяти
0 Seemer
 
15.10.25
15:56
Есть процедуры в менеджере отчета, запускаются в фоне. Сначала с формы отчета запускается фоновое задание, которое запускает ~12 фоновых заданий. Каждое "маленькое" фоновое задание помещает табличный документ во временное хранилище, "большое" в цикле ждет завершения всех "маленьких" заданий. После чего таким образом создает и записывает двоичные данные:

КнигаРезультат = Новый ПакетОтображаемыхДокументов;
	
	Для Индекс = 0 по МассивФоновыхЗаданий.Количество() - 1 цикл
		
		Лист = КнигаРезультат.Состав.Добавить();
		Лист.Наименование = Строка(МассивНаименований[Индекс]);  
		Лист.Данные = МассивФоновыхЗаданий[Индекс].АдресРезультата;
		
	КонецЦикла; 
ПотокФайла = Новый ПотокВПамяти();
	КнигаРезультат.Записать(ПотокФайла, ТипФайлаПакетаОтображаемыхДокументов.XLSX);
	ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные();


ДвоичныеДанныеФайла - пустые, запись в файл на сервере через получение имени временного файла работает, но медленно. Как записать ПакетОтображаемыхДокументов в ПотокВПамяти?
1 Волшебник
 
15.10.25
15:56
Насколько медленно? Сколько секунд?
2 Seemer
 
15.10.25
15:58
75 минут.
3 Волшебник
 
15.10.25
15:59
(2) Каков объём данных? Зачем столько мегабайт в формате Excel?
4 Seemer
 
15.10.25
16:03
Зачем? Для анализа, не экспорт данных для последующего импорта куда-нибудь, данных 600 мегабайт, данные представляют из себя таблицу из 181 колонки (выгрузка отчета), сказали надо и чтобы все не в разных файлах (так сделал сначала и все укладывалось в 1,5 часа т. е. и формирование и запись), и обязательно в одном документе в нескольких листах.
5 Волшебник
 
15.10.25
16:30
(4) дурилка картонная