如何实现自动编号回收利用已删除顺序号
3 天前
47
0
在一些场景中,场景要求顺序号的连贯性,虽然设置了自动编号的数据接口,但是总表删除的表单顺序号是无法被重新利用的 根据这个场景,我们可以放弃使用自动编号去实现这个需求,可以使用业务公式去实现 1、新建一个编号回收池的模版,用于回收我们每个模版已经删除的顺序号 2、在这个模版设置一个数据接口,获取我们的最小值的回收序号,参数为我们的回收池模版名称,后续可以将多个模版的回收序号都存在这个模版 3、在我们的单号回收池的模版需要添加一个单号序号值(用于获取本表单序号值的最大值实现递增)和UUID(这个字段的值是用于业务公式针对本表单执行更新时能够作为唯一标识的匹配字段)的辅助字段,然后也需要在本模板建立一个数据接口用来获取本表单的辅助字段最小值 4、在业务公式添加新建保存时的业务公式,需要添加两种情况 4.1、情况一我们去本表单的最大序号值接口作为子数据源,针对本表单的辅助序号值进行+1(递增),再根据递增后的序号值,对我们的单号进行赋值 (注:单号字段赋值要写添加表达式,根据顺序号位数设置,示例是以3位顺序号位数设置) 4.2、添加情况2,这种情况是从编号回收池去获取已被回收的序号进行单号赋值,所以我们这个情况的子数据源选择第1步从编号回收池新建的数据接口(如果没有该模版回收池的序号记录,接口为空,这个公式不执行,那么就是根据第4步生成,如果执行了会覆盖第4步),更新匹配条件和4.1一样 (注:接口的参数直接用文本写这个模版的名称,另外辅助序号值不需要+1,因为是直接从回收池进行序号填充) (注:也需要写条件表达式,案例也是以3为顺序号位数写的) 5、再添加一个业务公式针对回收池进行操作,这一步需要做两个操作,一是新建保存时删除回收池这条记录,而是删除时 针对回收池进行新增回收记录,具体设置如下 |
+1
0
0条回帖