1. 概述
1.1 版本说明
报表服务器版本 | JAR 包版本 | 功能变动 |
---|---|---|
10.0.9 | 2020-08-31 | 内置校验编辑界面的校验出错信息修改为不满足校验公式则提示 |
1.2 学习视频
本文学习视频:数据校验
1.3 应用场景
用户可定义校验公式和校验出错信息,前端填报后进行数据校验或直接提交时,会对所有sheet分别按照各自的设置进行校验,如果数据不满足校验公式的要求,那么提交终止且弹出校验出错信息,如下图所示:
1.4 功能入口
设计器菜单栏点击模板>报表填报属性,设置界面选择数据校验,点击,选择内置校验,点击,新增校验公式和不满足校验公式则提示,设置好后点击确定即可,如下图所示:
2. 示例
2.1 准备数据
新建数据查询数据集 ds1,SQL 语句为:SELECT * FROM Sales
2.2 设计表格
设计填报表格,将数据集字段拖入对应单元格中,给 A2~F2 单元格添加文本控件,如下图所示:
2.3 设置提交
设计器菜单栏点击模板>报表填报属性,提交设置项下新增一个内置SQL提交,如下图所示:
2.4 设置数据校验
设计器菜单栏点击模板>报表填报属性,数据校验设置项下新增一个内置校验,如下图所示:
校验公式:D2>0&&D2<10000,表示销售成本填报值必须在 0~10000 之间
校验出错信息:"销售成本超出范围!"
注:若校验公式中的单元格是扩展单元格,则会对扩展出来的所有格子生效。如果是非扩展单元格,则只对定义的单个单元格生效。
2.5 效果预览
1)PC 端
保存报表,点击填报预览,销售成本填写校验区间外的值时,点击数据校验或提交会弹出校验出错信息,如下图所示:
2)移动端
同时支持 App 端和移动端预览,效果如下图所示:
3. 模板下载
已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\VerifyForm\内置校验.cpt
点击下载模板:内置校验.cpt
4. 注意事项
如果校验时,校验框报错 Fine-Engine_Verify_Formular_Parser_Error,可能是公式执行出现了问题 。
最常见的就是公式参数的类型错误,比如公式:=inarray(1,A1)>0,如果A1只有1条数据时,就会被解析为字符串,而inarray 函数要求第二个参数必须是数组,所以就会报错 。
此时,可以将公式修改为:=inarray(1,split(A1,","))>0,这样就可以兼容不同情况了 。