Page 1 of 2

Dateformat issue on node.js

Posted: Fri Nov 16, 2018 10:11 am
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 5816 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 5816 times
i use the same template file for generate the report
VorgangRechnung.mrt
(18.38 KiB) Downloaded 480 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 5816 times
DATA.json
(2.31 KiB) Downloaded 573 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 5816 times
Report on designer with preview.jpg
Report on designer with preview.jpg (184.13 KiB) Viewed 5816 times
Report on viewer.jpg
Report on viewer.jpg (104.22 KiB) Viewed 5816 times
Report on PDF by using nodeJS.jpg
Report on PDF by using nodeJS.jpg (164.43 KiB) Viewed 5816 times

Re: Dateformat issue on node.js

Posted: Sun Nov 18, 2018 3:37 pm
by Alex K.
Hello,

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

Thank you.

Re: Dateformat issue on node.js

Posted: Mon Nov 19, 2018 7:44 am
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

Re: Dateformat issue on node.js

Posted: Fri Nov 23, 2018 7:50 pm
by Lech Kulikowski
Hello,

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

Thank you.

Re: Dateformat issue on node.js

Posted: Mon Nov 26, 2018 7:18 am
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.

Re: Dateformat issue on node.js

Posted: Wed Feb 16, 2022 10:02 am
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.

Re: Dateformat issue on node.js

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

Please try to set the Culture property of the report.

Thank you.

Re: Dateformat issue on node.js

Posted: Thu Apr 07, 2022 1:07 pm
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.

Re: Dateformat issue on node.js

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

Please clatify which version of our product are you use ?

Thank you.

Re: Dateformat issue on node.js

Posted: Mon Apr 11, 2022 7:36 am
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.