Изменение параметров для создания нового файла отчета

Обсуждение Stimulsoft Reports.JS
Ответить
angolub
Сообщения: 21
Зарегистрирован: 11 май 2018, 13:51

Изменение параметров для создания нового файла отчета

Сообщение angolub » 02 фев 2021, 08:06

Здравствуйте,

У нас зарегистрированная версия пакета "stimulsoft-reports-js": "2018.2.3".
Задача: при большом объеме данных разбивать один отчет на несколько результирующих файлов. В самом файле выводить информацию номер части и количество частей. Например, Часть 2 из 5.

Мы столкнулись со следующей проблемой. При передачи параметра номер части во всех результирующих файлах отображается Часть 1 из 5.
Т.е. тот параметр, который пришел в первый раз.

Подскажите, как переопределить параметр для отчета? Не хочется инициализировать StiReport каждый раз в цикле, а просто менять параметр.

Код: Выделить всё

        let report = new Stimulsoft.Report.StiReport();
        report.load(template);
        
	let settings = new Stimulsoft.Report.Export.StiPdfExportSettings();
        settings.imageQuality = 1.0;
        settings.imageResolution = 300;
        settings.pdfImageCompressionMethod = Stimulsoft.Report.Export.StiPdfImageCompressionMethod.Flate;
        settings.pdfEmbeddedFonts = true;
        settings.exportRtfTextAsImage = true;
        settings.embeddedFonts = true;
        
        let service = new Stimulsoft.Report.Export.StiPdfExportService();
        let stream;
		
	for (let i = 0; i < 5; ++i) {
		let fileName = `report_${i+1}.pdf`;
		if (report.dictionary.variables.getByName('partNumber'))                           
				report.dictionary.variables.getByName('partNumber').valueObject = i + 1;
                            
	        if (report.dictionary.variables.getByName('partsCount'))
        	        report.dictionary.variables.getByName('partsCount').valueObject = 5;
				
		stream = new Stimulsoft.System.IO.MemoryStream();

        	await new Promise((resolve, reject) => {
	        report.renderAsync(function () {
                    try {
                        service.exportToAsync(function () {
                            try {
                                fs.writeFileSync(fileName, Buffer.from(stream.toArray()));
                                resolve();
                            }
                            catch (err) {
                                reject(err);
                            }
                        }, report, stream, settings);
                    }
                    catch (err) {
			reject(err);
                    }
                }, false);
            });
		
 }
Вложения
newParamValueError.JPG
newParamValueError.JPG (10.86 КБ) 909 просмотров
Aleksey
Сообщения: 2320
Зарегистрирован: 22 апр 2010, 02:57

Re: Изменение параметров для создания нового файла отчета

Сообщение Aleksey » 05 фев 2021, 08:23

Здравствуйте,

Вышлите пример, который воспроизводит проблему, для анализа.

Спасибо.
angolub
Сообщения: 21
Зарегистрирован: 11 май 2018, 13:51

Re: Изменение параметров для создания нового файла отчета

Сообщение angolub » 08 фев 2021, 12:01

Высылаю пример mrt файла
Вложения
Report_ReportParam.mrt
(17.37 КБ) 46 скачиваний
report_params.json
(928 байт) 47 скачиваний
Aleksey
Сообщения: 2320
Зарегистрирован: 22 апр 2010, 02:57

Re: Изменение параметров для создания нового файла отчета

Сообщение Aleksey » 11 фев 2021, 12:50

Здравствуйте,

Необходимо некоторое время для анализа проблемы.

Спасибо.
angolub
Сообщения: 21
Зарегистрирован: 11 май 2018, 13:51

Re: Изменение параметров для создания нового файла отчета

Сообщение angolub » 21 апр 2021, 08:39

Здравствуйте,

Подскажите, пожалуйста, удалось ли что-то выяснить и поправить данную ошибку.

С уважением,
Алина Голубь
Aleksey
Сообщения: 2320
Зарегистрирован: 22 апр 2010, 02:57

Re: Изменение параметров для создания нового файла отчета

Сообщение Aleksey » 29 апр 2021, 21:26

Здравствуйте,

Разбираемся, о результатах дадим знать.

Спасибо.
Ответить