反馈已提交

网络繁忙

校验填报页面的数据是否重复

  • 文档创建者:cyb435
  • 历史版本:23
  • 最近更新:Fairy.Zhang 于 2024-11-01
  • 1. 概述

    1.1 应用场景

    希望校验某个字段下的填报数据是否重复。如有重复值,则提示校验出错信息且不允许提交入库。如下图所示:

    1.2 实现思路

    注:本方案支持 Excel 导入场景,建议采用扩展示例里的设置,以提升导入性能。

    填报内置校验公式里的单元格,如果涉及到扩展,则会遍历判断。利用此特性,可以将单元格扩展出的所有值转化为数组,然后在校验公式里利用GREPARRAY()函数遍历筛选出数组中的所有值,判断其个数。如果个数大于1,说明存在多条重复值,则校验失败出现提示。

    2. 示例

    2.1 新建模板

    新建一张普通报表。如下图所示:

    新建普通报表.jpg

    2.2 准备数据

    新建数据库查询 ds1,SQL 语句为:SELECT * FROM 销售总额。如下图所示:

    1.png

    2.3 设计模板

    1)A1 、B1 单元格输入文本内容,A2 、B2 单元格拖入数据列,自行设计表格样式。如下图所示:

    2.png

    2)A3 单元格插入公式:A2 ,即将 A2 单元格中的数据列字符串转换为数组。如下图所示:

    注:此处是插入公式A2,不能直接在单元格中输入文本 A2 。

    3.png

    2.4 设置提交

    1)点击菜单栏「模板>报表填报属性>提交」,新增「内置SQL」,提交类型选择「智能提交」。

    2)数据库选择 FRDemo ,表选择 销售总额 ,智能添加字段和单元格,勾选「销售员」为主键。如下图所示:

    4.png

    2.5 设置数据校验

    1)点击菜单栏「模板>报表填报属性>数据校验」,新增「内置校验」。

    2)添加校验公式:len(GREPARRAY(A3,item=A2))<=1和不满足校验公式提示:"销售员字段有重复填报数据!"。如下图所示:

    注1:公式表示遍历单元格 A3 的数组,对数组进行筛选,获取每个 A2 单元格的值出现的次数。如果次数大于 1,则说明是重复数据。

    注2:上述公式不会检测空值,如果希望检测空值,可以将公式替换为:len(GREPARRAY(A3,item=A2))=1

    5.png

    2.6 效果预览

    保存报表,使用填报预览,当销售员字段下有重复数据时,校验失败,如下图所示:

    1)PC 端

    PC端效果如下图所示:

    2)移动端

    移动端效果如下图所示:

    3. 扩展示例

    如果涉及Excel导入场景,可以调整方案,以提高导入性能。

    具体修改部分如下图红框所示,其余部分和原方案保持一致。

    1)A3 和 B4 单元格设置公式:row()

    2)A4 单元格设置公式:if(A3+1=B4,A2,"")

    6.png

    3)数据校验公式为:len(GREPARRAY(A4,item=A2))<=1

    7.png

    4. 下载模板

    点击下载示例已完成模板:校验页面数据是否重复.cpt

    点击下载扩展示例已完成模板:校验页面数据是否重复(导入).cpt

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持