如何设置每人每天只能提交一条数据?

1. 简介

1.1 案例简介

表单设计过程中,我们可以通过字段校验对每个字段设置「不允许重复提交」。但在实际业务中,可能每个字段都允许重复,但几个字段加起来则不允许重复。

本文将通过每人每天只能提交一条数据的案例,来介绍如何实现多个字段的重复值校验。

1.2 应用场景

  • 每日工作汇报场景中,每人每天仅能提交一次工作汇报,即对汇报人和汇报日期两个字段进行重复值校验;
  • 活动报名场景中,同一个活动每人只能报名一次,即对报名活动和报名人两个字段进行重复值校验;
  • 福利申领场景中,同一员工每月仅能领取一次福利,即对领取人和领取月份两个字段进行重复值校验。

1.3 设计思路

1)通过 GETUSERNAME 函数获取当前成员姓名,便于转化为文本参与公式编辑;

2)在校验字段中,通过 CONCATENATE 函数连接需要校验的多个字段,形成该条数据的唯一值,如汇报人+汇报日期;

3)对校验字段设置「不允许重复值」,实现多字段的重复值校验。

1.4 预期效果

以每日提交工作汇报的场景为例,当某成员今日已提交过工作汇报时,同一天将无法重复提交,效果如下:

2. 设置步骤

在学习之前建议安装 每人每天只能提交一条数据 应用模板,本文将按照模板中的示例数据进行讲解。

以每日提交工作汇报的场景为例:

2.1 表单搭建

新建「工作汇报表」表单,字段设置如下:

字段名称

字段类型

汇报人

单行文本

汇报日期

日期时间(默认值:填写当时)

今日工作汇报

多行文本

校验字段

单行文本

2.2 设置公式

由于成员字段不便参与公式编辑,故使用单行文本字段代替,并通过 GETUSERNAME 函数实现获取当前成员昵称的效果。

1)选中「汇报人」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:

2)在公式编辑页面,设置「汇报人」字段的公式为:GETUSERNAME(),即自动获取当前成员的成员昵称。

设置好记得点击确定」保存。

3)按照同样的方法,设置「校验字段」的公式为CONCATENATE(汇报人,TEXT(DATE(汇报日期),"yyyyMMdd")),即通过 CONCATENATE 函数连接汇报人姓名和汇报日期,作为每人每天提交数据的唯一值。

2.3 设置重复值校验

对「校验字段」设置重复值校验,当表单中已有该成员今日提交的数据时,不允许再次提交表单。

选中「校验字段」,在「字段属性 >> 校验」处,勾选「不允许重复值」,自定义提示内容为「今日已提交过数据,请勿重复提交!」

2.4 设置字段权限

为确保数据的准确性和表单的美观性,可在「字段属性 >> 字段权限」处,设置如下字段权限:

  • 汇报人:可见、不可编辑
  • 汇报日期:可见、不可编辑
  • 校验字段:不可见、不可编辑

设置字段不可见后,需在「表单属性 >> 不可见字段赋值」处,设置赋值规则为「始终重新计算」:

2.5 效果演示

效果演示参见本文【1.4 预期效果】。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验