ReportStudio中创建日期提示默认值模板

很多人已经知道可以通过JS给RS中的日期提示控件设置运行前的默认值---------例如:

ReportStudio中创建日期提示默认值模板

日期时间段默认为上一个月的开始日和结束日

在系统所有的报表中都这样操作,我们如何快速的引入?和方便下次修改统计规则?

1:创建JS文件test.js,主要代码如下

Date.getDateOfNPreMonthStart = function (n) {    

    var dt = new Date(); 

    var y = (dt.getMonth()-n < 0) ? (dt.getFullYear() - 1) : dt.getFullYear();  

    var m = (dt.getMonth()-n < 0) ? (dt.getMonth()- n + 12) : (dt.getMonth() - n);  

    return new Date(y, m, 1);  

};

Date.getDateOfNPreMonthEnd = function (n) {    

    var dt = new Date(); 

    var y = (dt.getMonth()-n < 0) ? (dt.getFullYear() - 1) : dt.getFullYear();  

    var m = (dt.getMonth()-n < 0) ? (dt.getMonth()- n + 12) : (dt.getMonth() - n);  

    var preM = Date.getDayOfMonth(y, m);  

    return new Date(y, m, preM);

};

var InitValues={

	fetchDate : function(type){

		switch(type){

			case "LAST_MONTH_START":

				return InitValues.formateDate(Date.getDateOfNPreMonthStart(1));

			case "6_MONTH_START":

				return InitValues.formateDate(Date.getDateOfNPreMonthStart(6));

			case "LAST_MONTH_END":

				return InitValues.formateDate(Date.getDateOfNPreMonthEnd(1));

		}

	},

	formateDate : function(tmp){

		return tmp.getFullYear()+'-'+(tmp.getMonth()+1)+'-'+tmp.getDate();

	}

};





var form = getFormWarpRequest();

		if(!form.txtDates_Date){

			return;

		}

		if(form.txtDates_Date.value.indexOf("1900")==-1&&form.txtDatee_Date.value.indexOf("1900")==-1){

			return;

		}

		form.txtDates_Date.value=InitValues.fetchDate("LAST_MONTH_START");

		form.txtDatee_Date.value=InitValues.fetchDate("LAST_MONTH_END");

		

		canSubmitPrompt();

2:把JS放在RS中可以访问的位置,通过HTML控件在每一张报表中引入

ReportStudio中创建日期提示默认值模板  

 

你可能感兴趣的:(port)