Dateformat issue on node.js

Stimulsoft Reports.JS discussion
Dennis
Posts: 7
Joined: Tue May 30, 2017 3:24 pm

Dateformat issue on node.js

Post by Dennis »

Hi @ all,

i have an dateformat issue.

When i generate a report on my server with node.js i get an dateformat on report like mm/dd/yyyy {us/en}
wrong.jpg
wrong.jpg (43.35 KiB) Viewed 3351 times
but i define the fomat on the designer like dd.mm.yyyy {german format}
When i generate the report on client side (on my firefox Browser) i get correct date formate.
correct.jpg
correct.jpg (37.63 KiB) Viewed 3351 times
i use the same template file for generate the report
VorgangRechnung.mrt
(18.38 KiB) Downloaded 226 times
the data where datetime date cames from is a JSON response from url.
here a copy of them. i am using {Auftrag.was_insert} date data.
JSON.jpg
JSON.jpg (186.41 KiB) Viewed 3351 times
DATA.json
(2.31 KiB) Downloaded 219 times
here the code by using the viewer (designer code are similar):

Code: Select all

		
{...}
		Stimulsoft.Base.Localization.StiLocalization.setLocalizationFile("localization/de.xml", true);
		var options = new Stimulsoft.Viewer.StiViewerOptions();
		options.appearance.fullScreenMode = true;
		options.toolbar.showSendEmailButton = true;
		options.toolbar.showPrintButton = false;
		
		var viewer = new Stimulsoft.Viewer.StiViewer(options, "StiViewer", false);
		
		// Process SQL data source
		viewer.onBeginProcessData = function (event, callback) {
			<?php StiHelper::createHandler(); ?>
		}
		
		// Manage export settings on the server side
		viewer.onBeginExportReport = function (args) {
			<?php StiHelper::createHandler(); ?>
			args.fileName = "<?php echo $_GET['id'] ?>_Auftrag";
		}
		
		// Process exported report file on the server side
		viewer.onEndExportReport = function (event) {
			event.preventDefault = true; // Prevent client default event handler (save the exported report as a file)
			<?php StiHelper::createHandler(); ?>
		}
		
		// Send exported report to Email
		viewer.onEmailReport = function (event) {
			<?php StiHelper::createHandler(); ?>
		}
		
		viewer.onPrintReport = function (event) {
			<?php StiHelper::createHandler(); ?>
		}
		
	// Load Data
	var report = new Stimulsoft.Report.StiReport();		
	var dataSet = new Stimulsoft.System.Data.DataSet('Auftrag');	
	
	var recievedData = '';	
	
	$.ajax({
		async: false,
		type: 'GET',
		url: "../../../get_Auftrag.php",
		data: { id: '<?php echo $_GET['id']; ?>'},
		success: function(data){
			recievedData = data;
		}
	});		

		// Load and show report

		//dataSet.readJson(recievedData);
		var jsonData = Stimulsoft.Base.StiJsonToDataSetConverter.getDataSet(recievedData);

		report.regData(Auftrag', 'Auftrag', jsonData);
		
		// Load report
		//alert(recievedData.vorgang.art);
		
		report.loadFile("reports/"+recievedData.Head.Report);
	
		report.dictionary.synchronize();	
		
		viewer.report = report;
		
		viewer.renderHtml("viewerContent");
{...}
here the node.js code to generate report as PDF file.

Code: Select all

console.log('start report rendering @ '+ new Date().toLocaleString() );
{...}
		var dataPromise = getData('../../../get_Auftrag.php?id='+query.id);

		dataPromise.then(JSON.parse, errHandler)
			.then(function(result){				
				Stimulsoft.Base.StiFontCollection.addOpentypeFontFile("./Roboto-Black.ttf");
				
				var report = new Stimulsoft.Report.StiReport();

				Stimulsoft.Base.Localization.StiLocalization.setLocalizationFile("../../../localization/de.xml");
				// Loading report template
				report.loadFile("../../../reports/VorgangRechnung.mrt");		
				console.log("Report template loaded");

				// Create new DataSet object
				var dataSet = new Stimulsoft.System.Data.DataSet("Auftrag");
				console.log("create dataset");
				
				// Load JSON data file from specified URL to the DataSet object
				dataSet.readJson(result);
				console.log("read JSON to dataset");
				
				// Remove all connections from the report template
				//report.dictionary.databases.clear();
				//console.log("clear dictionary");
				
				// Register DataSet object
				report.regData("Auftrag", "Auftrag", dataSet);
				console.log("register dataset into dictionary");
				
				// Sync Dictionary
				report.dictionary.synchronize();
				console.log("synchronize dictionary");
				
				// Renreding report
				report.render();
				console.log("Report rendered. Pages count: ", report.renderedPages.count);

				// Export to PDF
				var pdfData = report.exportDocument(Stimulsoft.Report.StiExportFormat.Pdf);
				console.log('export rendered report');
							
				// Converting Array into buffer
				var buffer = new Buffer(pdfData, "utf-8")
				console.log("write rendered report to buffer");

				// Saving string with rendered report in PDF into a file
				fs.writeFileSync('./'+result.Auftrag.RechnungenID+'_Rechnung.pdf', buffer);
				console.log("Rendered report saved into PDF-file.");	
				console.log(result.Auftrag.RechnungenID+'_Rechnung.pdf');
			}, errHandler);
{...}							
Report on designer.jpg
Report on designer.jpg (476.87 KiB) Viewed 3351 times
Report on designer with preview.jpg
Report on designer with preview.jpg (184.13 KiB) Viewed 3351 times
Report on viewer.jpg
Report on viewer.jpg (104.22 KiB) Viewed 3351 times
Report on PDF by using nodeJS.jpg
Report on PDF by using nodeJS.jpg (164.43 KiB) Viewed 3351 times
Alex K.
Posts: 6488
Joined: Thu Jul 29, 2010 2:37 am

Re: Dateformat issue on node.js

Post by Alex K. »

Hello,

We made some improvements in that direction in last builds.
Please check the last build.

Thank you.
Dennis
Posts: 7
Joined: Tue May 30, 2017 3:24 pm

Re: Dateformat issue on node.js

Post by Dennis »

Hi Alex,

thank you for your Answer.
I am using for node.js

Code: Select all

Stimulsoft.Reports.JS
Version: 2018.3.4
Build date: 2018.11.08
is there an neweer Version? where i can get it?

on client side in use (i build VorgangRechnung.mrt with this version):

Code: Select all

Stimulsoft.Reports.JS
Version: 2018.1.6
Build date: 2018.01.20
but i think... the probelm is on node.js side
Lech Kulikowski
Posts: 6197
Joined: Tue Mar 20, 2018 5:34 am

Re: Dateformat issue on node.js

Post by Lech Kulikowski »

Hello,

Sorry for the delay with the response. We need some additional time to investigate the issue.

Thank you.
Lech Kulikowski
Posts: 6197
Joined: Tue Mar 20, 2018 5:34 am

Re: Dateformat issue on node.js

Post by Lech Kulikowski »

Hello,

We have added some changes in the datetime parser. We will try to include it in the next build in this week.

Thank you.
artelektronik
Posts: 9
Joined: Sun Jun 20, 2021 9:18 pm

Re: Dateformat issue on node.js

Post by artelektronik »

Hello
We can see the date format as we want (dd/mm/yyy) in the report we prepared in our application running on the web. However, when it is converted by node.js and mailed and opened with pdf, the format changes in a way we do not want. It becomes mm/dd/yy format. is there a way to fix this? thanks.
Lech Kulikowski
Posts: 6197
Joined: Tue Mar 20, 2018 5:34 am

Re: Dateformat issue on node.js

Post by Lech Kulikowski »

Hello,

Please try to set the Culture property of the report.

Thank you.
artelektronik
Posts: 9
Joined: Sun Jun 20, 2021 9:18 pm

Re: Dateformat issue on node.js

Post by artelektronik »

Lech Kulikowski wrote: Wed Feb 16, 2022 7:21 pm Hello,

Please try to set the Culture property of the report.

Thank you.
We tried that way but no result. Is there a different method we can try? Thanks.
Max Shamanov
Posts: 768
Joined: Tue Sep 07, 2021 10:11 am

Re: Dateformat issue on node.js

Post by Max Shamanov »

Hello,

Please clatify which version of our product are you use ?

Thank you.
artelektronik
Posts: 9
Joined: Sun Jun 20, 2021 9:18 pm

Re: Dateformat issue on node.js

Post by artelektronik »

Max Shamanov wrote: Fri Apr 08, 2022 12:59 pm Hello,

Please clatify which version of our product are you use ?

Thank you.
It's STIMULSOFT REPORTS.JS with Source Code version stimulsoft-reports-js@2022.2.3
We tried with this latest version.
Post Reply