对关联关系表做数据修复解决方案

1 业务背景
下游单据是手工录入、引入的,与源单没有关联关系,不支持联查、反写。
源单、目标单都是通过webapi集成进系统,需建立关联关系,以支持上下查。
现在用户需要手工修复与源单的关联关系,以支持联查、反写。
本章介绍如何通过SQL脚本的方式,向后台关联关系表写入数据,以实现建立源单于目标单的关联关系。
2 解决方案
首先了解后台各关联关系表的表结构和数据写入时机。

上图中_tc、_lk、t_botp_billtracker 几个表都记录了关联关系,可以在目标单的“关联配置”属性找到这些表名。

这些表的写入时机:
下推时,生成目标单数据包(还没有保存),会把源单信息,填写在单据上自动创建的子单据体中(_lk),为每条分录行记录其原始来源;
保存时,会根据_lk表中的记录,生成单据到单据之间的关联关系,存储到t_botp_billtracker(所有单据到单据关联统一存储在此表);把分录到分录之间的关系,存储到xx_tc表(每种单据有自己xx_tc表,存储自身单据分录行和源单分录行的关联关系);
反写时,会把反写结果记录在_wb表上,这个表也是各单据分别创建,是xx_tc表的子表。
这些表的用途和使用时机:
查询原始下推数据:xx_lk记录,称为关联子实体,是单据实体的一部分,存储下推时原始的源单信息:可以使用此表追查原始下推时数据;
联查:先到统一的单据到单据关联关系表t_botp_billtracker中,搜索本单的所有源单、目标单,然后在根据源单、目标单类型,到各自分录行关联关系表_tc中,搜索分录行之间的关联关系,再读取_wb表,获取反写历史数据;
按如下步骤进行后台表数据处理:
第一步:
修复系统库 t_botp_billtracker表,该表用于下查
字段说明:
fsbillid 源单单据fid
fstableid 该字段来自 元数据库t_meta_entityinfo 表的ftabelid字段,获取sql:select fstableid from t_meta_entityinfo where ftablename = '源单表单设计里面对应的表名'
ftbillid 目标单单据fid
fttableid 该字段来自 元数据库t_meta_entityinfo 表的ftabelid字段,获取sql:select fstableid from t_meta_entityinfo where ftablename = '目标单表单设计里面对应的表名'
额外说明:
该表的修复可在开发平台搜索botp_billtracker,然后扩展一个保存按钮,然后把上述查询结果依次填到对应空位内
第二步:
修复 tc表,该表在对应下游单据的表
对关联关系表做数据修复解决方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



