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

我们的单据通常是连续的。比如: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)

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

发布了327 篇原创文章 · 获赞 15 · 访问量 123万+

猜你喜欢

转载自blog.csdn.net/chengg0769/article/details/101565229