报表筛选两个日期,判断是否同年,如果不是同一年不能查询

报表筛选两个日期,判断是否同年,如果不是同一年不能查询image.png

FineReport 木子嗯哼 发布于 2022-5-26 14:06 (编辑于 2022-5-26 14:12)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
snrtuemcLv8专家互助
发布于2022-5-26 14:12(编辑于 2022-5-26 14:17)

JS实现日期控件查询天数控制-https://help.fanruan.com/finereport10.0/doc-view-3060.html

这个是天数控制,换成比较年份就可以

=========

var start = _g().parameterEl.getWidgetByName("start_time").getValue().substr(0,4); 

var end = _g().parameterEl.getWidgetByName("end_time").getValue().substr(0,4); 

if (start != end) {

alert("年份不一样!");

return false;

//阻止查询

}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-5-26 14:10(编辑于 2022-5-26 14:20)

select * frOM TABLE WHERE 1=1 ${if(year(rq1_)==year(rq2_)," and 条件 "," AND 1<>1")}

WorkBook1.zip

image.png

  • 木子嗯哼 木子嗯哼(提问者) 判断的是筛选日期,日期年份不一样 怎么JS判断报错
    2022-05-26 14:13 
  • Z4u3z1 Z4u3z1 回复 木子嗯哼(提问者) 看补充
    2022-05-26 14:20 
最佳回答
0
dongazheLv6初级互助
发布于2022-5-26 14:25(编辑于 2022-5-26 14:25)

测试.zip

参考我的方法,用Js解决

GIF.gif

image.png

var year1 = _g().parameterEl.getWidgetByName("date1").getValue().slice(0,4);

var year2 = _g().parameterEl.getWidgetByName("date2").getValue().slice(0,4);

if(year1 == year2){

_g().parameterCommit()

} else {

alert("日期应为同一年份")

}

最佳回答
0
Wendy_LouLv3见习互助
发布于2023-11-16 13:49

可直接设置截止日期的结束日期为开始日期所在年最后一天,这样预览选择截止日期时,自然就限制可选择日期范围。另外可同时限制起始日期须大于开始日期。image.png

image.png

  • 2关注人数
  • 568浏览人数
  • 最后回答于:2023-11-16 13:49
    请选择关闭问题的原因
    确定 取消
    返回顶部