文件服务.常见问题.单据平白无故多出来一些附件,如何做数据修复

1、现象及原因:
用户在使用过程中发生过这样的现象,单据平白无故多出来一些附件。如下图,单据创建时间2016年3月7号,但是有两个上传时间为2015年4月27号的附件。

出现这样的原因是早先在2020年7月份补丁前删除单据是不会删除附件的,而我们附件列表展示附件数据,是根据业务对象标识加单据内码的组合条件来进行展示的,一旦已删除单据的内码被新增单据所占用,那么将会把历史已删除单据的附件加载进来。

这样的场景发生概率较少,原因是单据内码是递增的,已经用过的内码是不会被复用的。但是也有可能存在客户修复过种子表或者二开插入删除过单据数据,那么也会导致该种情况。但是如果发生了,该如何修复呢?
2、如何修复:
以上面截图单据编号为CGSQ000037的采购申请单为例。注意由于涉及到数据库操作,建议操作前先在管理中心对相应数据中心进行备份以预防万一。
2.1、通过【采购申请单单据编号CGSQ000037】查询得到【采购申请单单据内码100100】

2.2、通过【采购申请单单据标识PUR_Requisition】跟【单据内码100100】查询得到关联单据下所有附件信息:

2.3、通过步骤2.2查询得知内码为10010的采购申请单PUR_Requisition下共有三个附件,但是FBillNo单据编号有两个:HBGX001、CGSQ000037,说明其中之一可能来自已经被删除的单据。
在采购申请单表格下分别查询单据编号CGSQ000037、HBGX001。其中HBGX001没有数据说明已经被删除了,可删除附件脏数据:

注意,实际验证中可能还会如下的情况:
1)版本变更的情况,如合同变更,变更前后单据编号不一样,但是历史上传附件还是可以关联得到,这种附件数据不属于脏数据不需要清除,如下图:

2)单据均存在的情况,此种情况无法从数据层面确定哪条附件数据为脏数据,建议是保留原数据或者沟通制单人确认哪条附件数据为脏数据。

2.4、删除采购申请单下单据编号为HBGX001的附件脏数据,注意此处删除附件脏数据脚本的条件,包括FBILLTYPE业务对象标识、FINTERID单据内码、FbillNo单据编
文件服务.常见问题.单据平白无故多出来一些附件,如何做数据修复
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



