BOS平台-通过数据库正确的删除单据?原创
金蝶云社区-eris
eris
31人赞赏了该文章 2,119次浏览 未经作者许可,禁止转载编辑于2022年09月14日 12:00:15
summary-icon摘要由AI智能服务提供

本文讲述了单据数据删除的流程。若无上游单据关联,直接删除单据数据;若有关联,需删除关联表数据、流程实例表数据、反写快照数据,并处理反写快照的反写值。删除顺序为先处理流程实例相关,再处理关联表和单据数据,并提供了具体删除示例。

说明:

  1. 如果单据没有关联上游单据,直接删除单据数据即可,一般包括单据头,单据体对应的表数据,有的还有多语言表数据。

  2. 如果单据关联了上游单据,比如说单据是下推,选单,自动下推生成的单据,此时不仅要删除单据数据,还删除关联表数据,流程实例表数据,反写快照数据,并且需要对反写快照的反写值进行反冲处理。

  3. 删除数据的顺序:流程实例反写表,流程实例节点表,还原反写值,反写快照表,关联表,单据体表,单据头表,具体参考下面示例。


示例:下面以单据A下推单据B,在数据库中删除单据B为例

  1.   单据B对应的表单ID,单据头表名,单据体表名,关联表名(单据关联配置中可以找到,也叫LK表名),分别为:BOS_BillB,BillB_Header,BillB_Entry1,BillB_Entry1_LK。

  2. 需要删除单据编号为'B002'的数据,查询数据如下截图:

    image.png

  3. 根据表名和内码找到对应的流程实例节点数据,表为T_BF_INSTANCEENTRY,如下图:

    image.png

  4. 首先根据流程实例节点内码FRouteId,确定是否存在反写控制字段值,如果存在则先删除,表为T_BF_INSTANCEAMOUNT, 如下图:

    image.png

  5. 再删除流程实例节点数据,如下图:

    image.png

  6. 再查询反写快照数据,内码为“表单Id,关联标识,单据主键”,注意删除之前要把反写的数据给还原,如下图:

    image.png

  7. 删除反写快照,如下图:

    image.png

  8. 最后再依次删除,关联表,单据体表,单据头表,如下图:

    image.png



图标赞 31
31人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!