Страница 1 из 1

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

Добавлено: 02 фев 2021, 11:06
angolub
Здравствуйте,

У нас зарегистрированная версия пакета "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);
            });
		
 }

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

Добавлено: 05 фев 2021, 11:23
Aleksey
Здравствуйте,

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

Спасибо.

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

Добавлено: 08 фев 2021, 15:01
angolub
Высылаю пример mrt файла

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

Добавлено: 11 фев 2021, 15:50
Aleksey
Здравствуйте,

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

Спасибо.

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

Добавлено: 21 апр 2021, 11:39
angolub
Здравствуйте,

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

С уважением,
Алина Голубь

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

Добавлено: 30 апр 2021, 00:26
Aleksey
Здравствуйте,

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

Спасибо.

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

Добавлено: 21 сен 2021, 10:09
angolub
Здравствуйте,

Мы обновились до новой версии "stimulsoft-reports-js": "2021.3.7".
Ошибка сохранеяется.

sqlCommand меняется успешно для каждой части.

Есть ли какие-то новости по решению проблемы?

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

Добавлено: 18 окт 2021, 08:51
angolub
Здравствуйте,

Проблема решается так:
Если вы хотите поменять значение в уже построенной переменной, то надо делать это с помощью следующего кода:
report.setVariable(paramName, paramValue);
Заменили код

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

report.dictionary.variables.getByName('partNumber').valueObject = i + 1; 
на

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

report.setVariable('partNumber', i+1);
и все заработало

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

Добавлено: 18 окт 2021, 17:12
Aleksey
Здравствуйте,

Спасибо за информацию.