如何修改报表的报错提示

填报页面中,默认的提示返回信息(一些数据库报错)无法被报表使用者理解,希望能将经常出现的几条报错信息替换成中文。(主要是空值无法存入数据列/主键重复/字符串超长这几种报错。)目前在填报后,右上角的反馈信息都是数据库原样的报错内容,没接触过数据库的普通员工在反应问题时往往无法清楚的描述错误内容,只是笼统的概括为数据无法填入数据库,希望通过修改提示来帮助员工准确的描述问题。

FineReport qianxu1996 发布于 2018-11-12 09:17 (编辑于 2018-11-12 09:20)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
张潮Lv3见习互助
发布于2018-11-12 10:06

var A=contentPane.curLGP.getCellValue(11,1);// 获取参数
var b=contentPane.curLGP.getCellValue(12,1);// 获取参数
if(A > -20000000000 && b > 0 ){ // 判断
    setTimeout(function(){
   _g('${sessionID}').writeReport();     //提交入库
window.parent.FR.closeDialog();          // 刷新页面
},100);  //延迟提交时间

}else{
            FR.Msg.alert("提示","请填写申诉后金额再提交");    // 弹框提醒
    }
自定义提交按钮,提交时友好弹框提醒

  • qianxu1996 qianxu1996(提问者) 多谢支招,不过我遇到的情况有部分内容是数据库专有的问题,比如丢失索引报错,在fr内不太好判断,目前想修改出现此类报错的提示信息,帮助实际使用者正确描述问题就行了。
    2018-11-12 10:11 
  • 张潮 张潮 回复 qianxu1996(提问者) 我明白你的意思,你可以在表页面上增加隐藏格子,放一些公式参数和红星提醒,提交的时候用js校验,如 A1隐藏格子if(条件=1,1,0) 通过js获取A1 (1或0) 判断是否提交或弹框提醒 ,没有什么搞不定的,加油
    2018-11-12 10:23 
  • qianxu1996 qianxu1996(提问者) 回复 张潮 好的,我去测试下,应该能实现大部分验证,谢谢。
    2018-11-12 10:26 
最佳回答
0
夜梦碎Lv3初级互助
发布于2018-11-12 09:22

blob.png
可以在填报时进行数据校验

  • qianxu1996 qianxu1996(提问者) 遇到过一种情况,不太好用填报校验实现,它的内容是说数据库丢失索引,像这种数据库专属的错误提示感觉不方便用校验实现。如果填报失败后能保存信息也可以,将报错内容和出现报错的工号传到指定表中,我去数据表中查看操作人的报错信息,但是还没思考过怎么实现该功能。
    2018-11-12 09:49 
最佳回答
0
孤陌Lv6资深互助
发布于2018-11-12 09:31(编辑于 2018-11-12 09:31)

如果是空值不可以存入字段 那就设置那个单元格的控件不允许为空  字符超长  也可以在控件里设置的 字符长度是多少

主键重复 这个 那只能在内置校验 哪里设置公式 用SQL联动公式 查询出当前主键 数据库有没有就好了  这个你可以帮助文档搜 填报联动  然后看方法二就好了

方法二:使用SQL()函数实现

修改城市下拉框控件的数据字典的类型设置为公式,实际值输入公式:SQL("FRDemo","select 城市 from 雇员 where 地区='"+C9+"'",1)


  • qianxu1996 qianxu1996(提问者) 我通过EXCEL导入数据到模板上,控件的能否校验这些导入进来的数据?目前由于数据量大,都是由员工在EXCEL中汇总后,批量导入填报模板(员工比较熟悉excel操作)。
    2018-11-12 09:51 
  • 孤陌 孤陌 回复 qianxu1996(提问者) 那是不可以的 那只能在填报属性内置校验 写公式了
    2018-11-12 09:53 
最佳回答
0
晓亮Lv7资深互助
发布于2018-11-12 09:41

http://help.finereport.com/doc-view-1853.html,看一下这用js修改报错提示。

  • qianxu1996 qianxu1996(提问者) 之前参考过这个文档,但是填报入库失败,它的返回信息应该是oracle的报错内容,我想对上报失败后的提示信息进行判断,如果报错内容是空值异常,则给FR.i18n[\'FR-Engine_Failed\']赋值为“数据库中部分列不允许为空”;如果报错内容是数据类型不匹配,则给FR.i18n[\'FR-Engine_Failed\']赋值为“数据类型不匹配,请检查数据格式”,但是不知道怎么获取到报错时的提示信息(该信息不是固定的,应该是填报失败时,将oracle中的报错信息原样输出到提示框中)
    2018-11-12 10:01 
  • 5关注人数
  • 675浏览人数
  • 最后回答于:2018-11-12 10:06
    请选择关闭问题的原因
    确定 取消
    返回顶部