单据编号本人在系统建立一个表(fType 单据类型,fCurrNo当前编号),每增加一个单据,CurrNo自动加1,然后下一次保存单据就根据该编号取编号,但出现如下问题,就是如果在保存单据后,再删掉该单据,就会出现单据存在空号,就是时间久了所有单据就会出现空档,给单据汇总和核对造成困难,如何实现单据能连继编号而不出现空号。

解决方案 »

  1.   

    删掉该单据,当然要产生空号
    oracle有相关语句能找出断号
    其它的要遍历
      

  2.   

    可以在数据库里做一个触发器,当删除单据的时候触发,将编号》当前编号的依次更新,同时做上关系,级联更新所有其他引用该编号的表,同时更新编号表中的fCurrNo。这样做太费事。
    正常的处理应该是单据需要审核,审核之前可以删除,通过审核之后保存就不能删除了。