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

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

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

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

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控件在每一张报表中引入

  

原文地址:https://www.cnblogs.com/wxjnew/p/4500377.html