如何查找单据编号中不连续的号码而加以利用

我们的单据通常是连续的。比如:PUR2019090001,PUR2019090002,PUR2019090003,PUR2019090004、

这是通常情况,而我们可能会删除单据。普通的递增算法总是取最大序号+1,从而无法利用那些被删除的空缺编号。

比如客户要求在U8凭证中尽量把删除的凭证编号要利用起来。这样对于凭证的打印检视有好处。类似的采购单跟踪时,也不希望看到空缺的编号。

有2种方法。

1)遍历逐个查找。取某段编码,比如PUR2019090001-1000然后放入datastore排序遍历。取出一个空缺值来用。

2)制作一个模板的齐全的编码表,放入一个独立的table中。利用exists来结合表查询来取得。

比如:

codelist(id)表放入0001-9999的编码。

select id

from codelist

where not eixsts(select 1 from pur_table where docno like 'PUR201909'+ clodelist.id)

我突然想到还没去检验,需要的话大家认真调试一下。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值