本文将介绍,如何制作可自主选择是否生成的流水号。根据表单填写内容,手动选择本表单是否生成流水号。
1)通过单选按钮组设置是否生成流水号的选项;
2)通过 TODAY 函数获取当前日期,再用 TEXT 函数将其转换为文本格式,作为流水号中的时间元素;
3)当需要生成流水号时,通过 MAPX 函数,在已有数据中找到计数的最大值,并在此基础上 +1;
4)通过 RIGHT 函数将累加的计数补足固定位数,确保流水号的位数统一;
5)最后,通过 CONCATENATE 函数将全部流水号元素连接在一起。
勾选「是否生成流水号」为「是」时,即生成流水号,不勾选时,则流水号为空,效果如下:
以设置流水号格式 JDY-20220616-0034(固定字符-年月日-计数)为例:
新建「自主选择是否生成流水号」表单,字段设置如下:
字段名称 | 字段类型 | 备注 |
是否生成流水号 | 单选按钮组 | 选项设置为是 |
当前年月日 | 单行文本 | |
计数 | 数字 | |
自定义流水号 | 单行文本 |
1)选中「当前年月日」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:
2)在公式编辑页面,设置「当前年月日」字段的公式如下:
TEXT(TODAY(),"yyyyMMdd")
3)按照如上方法,设置「计数」字段的公式为:
IF(是否生成流水号=="是",MAPX("max",当前年月日,当前年月日,计数)+1,"")
注:MAPX 函数中后两个字段变量,需要选择「所有表单字段」中的「自主选择是否生成流水号」表单的对应字段。
4)按照同样的方法,设置「自定义流水号」字段的公式为:
IF(是否生成流水号=="是",CONCATENATE("JDY",'-',当前年月日,'-',RIGHT('0000'+计数,4)),"")
为了防止多个成员同时打开表单,导致流水号重复,可在「字段属性 >> 校验」处,勾选「不允许重复值」并设置提示内容:
1)对于部分流水号辅助字段,如「当前年月日」和「计数」字段,填写表单时不需要展示,则可以在「字段属性 >> 字段权限」处,设置权限为「不可见」:
2)设置了辅助字段为不可见后,则需要在「表单属性>>不可见字段赋值」处,设置赋值规则为「始终重新计算」:
效果演示参见本文【1.4 预期效果】。