反写超额分析原创
金蝶云社区-eris
eris
3人赞赏了该文章 1261次浏览 未经作者许可,禁止转载编辑于2022年06月12日 10:07:44

说明:

 超额模式

1. 允许超额, 对反写的数量不会进行超额判断

2. 禁止超额,每次对反写后的数量进行超额判断

3. 允许超额一次,每次对反写前的数量进行超额判断

超额判断逻辑

  1. 如果上游某字段只有一个反写规则反写,则根据超额模式进行判断;如果上游某字段有多个反写规则同时反写,则最后一个反写规则根据超额模式进行判断,前面运行的反写规则不会判断。

  2. 如果一个反写规则反写时,有正数和负数行同时存在反写,则先进行负数行判断,再处理正数行。

  3. 反写的一些错误情况导致超额问题,包括单据状态实际不符(导致多次反写),并发反写(导致覆盖),操作控制不严格(保存后暂存导致快照丢失等)


示例: 差旅费报销单反写报超额错误

     1. 差旅费报销单在进行审批时报超额错误,在待办流程中有编号,既然进去审批后没有编号

image.png

 image.png

   

   2.  通过上面可以清楚,这张单以前的编号为:BYCB2020100023, 现在没有编号,但状态是审核中,通过查询列表,果然查询到一张没有编号审核中的单据:

   image.png

    3. 先根据以前的单据编号BYCB2020100023, 查询上机操作日志, 得到一些有用的信息,操作时间和操作人等

image.png


   4. 因为能确定单据,所以可以查询一下反写快照,看一下修改时间

   image.png


    5. 通过反写快照的修改时间,再查询上机操作日志,可以看到在移动端进行了大量的暂存操作:

    image.png

   6. 根据操作人,操作时间,反写快照修改时间,基本可以断定是因为暂存导致反写快照被覆盖了。


解决方案:后续业务和平台都做了改进,暂存不再覆盖反写快照,加强并发控制。

赞 3