很多人已经知道可以通过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控件在每一张报表中引入
英文名:kingwang
& Email :kingstudy@vip.qq.com