会出现相同的流水号,下面公式还能怎样优化吗?

条件属性新值和公式一致

IF(LEN(A7) > 0,A7,CONCATENATE("ZD",FORMAT(H2,'yyyyMMdd'),FORMAT(SEQ()+VALUE("P_MAXID",1,1) + 1,"0000")))

image.png

image.png

FineReport nesy 发布于 2025-5-6 16:30
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
nesyLv3见习互助
发布于2025-5-7 08:00(编辑于 2025-5-8 15:20)

填报属性也使用同公式

最佳回答
1
CD20160914Lv8专家互助
发布于2025-5-6 16:32(编辑于 2025-5-6 16:35)

再增加一列  用公式把第行的序号显示出来。再引用这个单元格,不用seq

=&a2   假如你增加的公式在Z列,那么你再引用z7  这样的单元格 

IF(LEN(A7) > 0,A7,CONCATENATE("ZD",FORMAT(H2,'yyyyMMdd'),FORMAT(z7+VALUE("P_MAXID",1,1) + 1,"0000")))

就是保证你的前端界面看到的序号没有重复的话,那么这样引用公式就不会重复!否则就会重复的可能

但是这个不能保证多个并发填报的情况,因为目前并发的时候,只能用存储借用数据库去生成序号,而不能在前端处理!

最佳回答
1
华莉星宸Lv7资深互助
发布于2025-5-6 16:32

不要在界面处理了吧

在数据库里面 写个存储过程生成流水号

插入数据的时候 ,就更新流水号字段

界面直接展示

最佳回答
1
snrtuemcLv8专家互助
发布于2025-5-6 16:33

VALUE("P_MAXID",1,1)

改成sql()函数,直接从数据库取最大值

最佳回答
1
孤陌Lv6资深互助
发布于2025-5-6 17:36

你这个是多人同时填写才出现这个情况  建议日期增加到分秒  这样应该是不会重复了

  • 4关注人数
  • 70浏览人数
  • 最后回答于:2025-5-8 15:20
    请选择关闭问题的原因
    确定 取消
    返回顶部