历史版本2 :填报插入数据时自动生成流水号 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 问题描述
填报在插入数据的时候,希望能根据当前日期自动生成一个流水号,例如ABC202108050001,要如何实现呢?
1.2 解决方案
在填报属性处利用公式拼接即可,整个流水号分为三部分:
固定字符串:ABC,直接写即可。
当前日期:20210805,可以使用公式format(today(), "yyyyMMdd")获取。
自增序号:0001,可以利用sql函数,查询出数据库中当前日期下最大的流水号,并加1。
注:由于填报属性中的函数计算是统一在提交动作之前的,所以无法实现批量插入多行数据的功能,只能每次插入1条。
2. 示例编辑
2.1 设计模板
制作如图所示模板:
2.2 设置填报属性
如图所示设置填报属性:
id列绑定的公式为:CONCATENATE("ABC", format(today(), "yyyyMMdd"), format(sql("sqlserver", "SELECT max(right(id,4)*1) maxid FROM [dbo].[流水号] where SUBSTRING(id,4,8)=CONVERT(varchar(100), GETDATE(), 112)", 1, 1) * 1 + 1, "0000"))
该公式中的sql函数作用为取出数据表中id列中的日期等于当前日期的数据,并截取出最后四位转为数字。具体sql写法需要根据实际数据库类型和需求进行修改。
2.3 效果预览
3. 模板下载编辑
点击下载模板:填报插入数据时自动生成流水号.cpt