根据项目名称生成流水号-支持刷新流水号
1. 简介
1.1 案例简介
本文将介绍,如何制作根据项目名称设置的流水号,并能支持重复值校验。如提交表单时校验到重复流水号,还可以直接在表单中一键刷新流水号,实现快捷刷新操作。
1.2 应用场景
- 项目管理 中,团队成员共同负责多个项目时,可以根据不同项目生成对应序列的流水号;
- 课程报名中,学员在选择课程进行报名时,可以根据不同课程生成对应序列的流水号等。
1.3 设计思路
1)通过单选按钮组设置是否生成流水号的选项;
2)通过下拉框选择项目,记录项目名称;
3)当需要生成流水号时,通过 MAPX 函数,在已有数据中找到项目名称计数的最大值,并在此基础上 +1;
4)通过 RIGHT 函数将累加的计数补足固定位数,确保流水号的位数统一;
5)最后,通过 CONCATENATE 函数将全部流水号元素连接在一起。
1.4 预期效果
在表单中选择不同项目时,自动生成该项目对应流水号;如提交表单时校验到流水号重复,则勾选「刷新流水号」即可自动更新为最新的流水号,效果如下:
2. 设置方法
在学习之前建议安装 利用函数生成固定格式流水号 应用模板,本文将按照模板中的「根据项目名称生成流水号-支持刷新」表单进行讲解。
以设置流水号格式 JDY-项目A-0034(固定字符-项目名称-计数)为例:
2.1 表单搭建
新建「根据项目名称生成流水号」表单,字段设置如下:
字段名称 | 字段类型 |
刷新流水号 | 单选按钮组 |
项目 | 下拉框 |
计数 | 数字 |
自定义流水号 | 单行文本 |
2.2 设置刷新按钮
选中「刷新流水号」字段,在字段属性中,取消勾选「显示标题」,并将选项设置为:刷新流水号。
2.3 设置公式
1)选中「计数」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:
2)在公式编辑页面,设置「计数」字段的公式如下
IF(ISEMPTY(刷新流水号)!=1,MAPX("max",项目,项目,计数)+1,MAPX("max",项目,项目,计数)+1)
注:MAPX 函数中后两个字段变量,需要切换到「所有表单字段」中的「根据项目名称生成流水号-支持刷新」表单,再选择对应字段。
3)按照同样的方法,设置「自定义流水号」字段的公式为:
CONCATENATE("JDY","-",项目,"-",RIGHT("0000"+计数,4))
2.4 重复值校验
为了防止多个成员同时打开表单,导致流水号重复,可在「字段属性 >> 校验」处,勾选「不允许重复值」并设置提示内容:
2.5 不可见字段设置
1)对于部分流水号辅助字段,如「计数」字段,填写表单时不需要展示,则可以在「字段属性 >> 字段权限」处,设置权限为「不可见」:
2)设置了辅助字段为不可见后,则需要在「表单属性 >> 不可见字段赋值」处,设置赋值规则为「始终重新计算」:
2.6 效果演示
效果演示参见本文【1.4 预期效果】。