单据关联关系丢失问题排查思路

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

单据关联关系丢失问题排查思路

场景

场景1:源单下查不到目标单。

场景2:源单下推完目标单,然后保存目标单,发现上查不到源单。

场景3:保存目标单未反写源单,查询数据库发现关联关系丢失。

2 问题分析

下推生成的单据,查询数据库没有关联关系,有如下几种可能:

1)转换规则配置界面,没有勾选“记录关联关系”参数:

  • 下推时就不会往lk子单据体中,填写源单内码和源单分录行内码;

  • 直接表现:lk子单据体没有记录;

  • 如果没有勾选此选项,下推的单据都不会有关联关系;

  • 如果没有勾选此选项,后台monitor日志不会生成记录;

2)下推后打开下游单据界面,用户删除了下推生成的行,然后添加新行:

  • 删除分录行时,会同步删除其下级lk子单据体记录;

  • 手工新增的行和源单是没有关联关系的;

  • 直接表现:lk子单据体没有记录;

  • 这是用户操作行为,只有在用户按照如此步骤操作才会出现,不是100%出现;

  • 这是正常操作,后台日志不会有异常输出;

 3)复制了新行,然后删除了下推生成的行

  • 直接表现:lk子单据体没有记录;

  • 这是用户操作行为,只有在用户按照如此步骤操作才会出现,不是100%出现;

  • 这是正常操作,后台日志不会有异常输出;

4)业务插件代码,在保存(或提交)前,清理了单据体分录行,重新添加

  • 直接表现:lk子单据体没有记录;

  • 这是插件代码行为,出现几率和插件的条件判定有关,可能不会100%出现;

  • 这是插件正常逻辑,后台日志不会有异常输出;

 5)下游单据保存、提交,基于lk子单据体中记录的源单内码,建立关联关系,分别存储到各业务单据的分录级关联关系跟踪表xx_tc,以及平台统一的单据级关联关系跟踪表t_botp_billtracker,如此过程出错,也会导致后台关联关系没有建立好

  • xx_tc表和业务单据数据表在同一个数据库,同一个事务中保存,数据是一致的;

  • 直接表现:lk子单据体有记录,xx_tc表可能有记录、t_botp_billtracker表没有记录;

  • 如果此过程出错,通常是异常级别错误,回滚了数据,会有后台异常日志输出;

6) 用户导出下推生成的单据,修改内容后重新覆盖式导入,单据体采用替代新建的方式导入(或使用webapi保存接口修改单据,与导入逻辑一样)

  • 覆盖式导入,且提单新建单据体行,会删除下推生成的行,然后重新导入,效果就像是新建分录行;

  • 直接表现:lk子单据体没有记录;

  • 这是正常操作,后台日志不会有异常输出;

  • 因为单据先保存,后被覆盖导入,可以用源单内码为关键字,查到2次后台反写日志: 第1次是反写,第2次是撤销反写;

3 排查步骤

1) 检查转换规则,是否勾选记录关联关系选项 

2) 检查上机操作日志

  • 确认有没有源单下推日志;

  • 确认下游单据操作过程,逐一排查各操作,重点关注有没有重复保存;

3)打开下游单据列表,点击更多-引入结果查询菜单,查看有没有引入数据

  • 确认有没有引入过,覆盖引入也可能会影响分录行关联关系;

4)检查下游单据数据

  • 查看lk, tc, t_botp_billtracker等各表记录,检查是否完整;

  • 确认问题是在保存前,还是在保存后:lk没记录就是在保存前就有问题;

  • 查看哪些是必须下推生成的字段值,和其他正常单据的差异,推测用户可能改过的字段值;

5)检查后台日志

  • 以源单内码为关键字,搜索日志,检查反写源单过程;

  • 以下游单据内码为关键字,搜索日志,检查下游单据操作过程;

6) 检查下游单据的插件代码

  • 确认有没有在保存前,删除关联生成的分录行;

  • 下推插件;

  • 下游单据的表单插件;

  • 下游单据的保存、提交操作插件;

  • 下游单据的反写插件;

7)实地操作下游单据

  • 确认删除行、新增行按钮,在下推生成的单据上是否可用;

 

  


单据关联关系丢失问题排查思路

1 场景场景1:源单下查不到目标单。场景2:源单下推完目标单,然后保存目标单,发现上查不到源单。场景3:保存目标单未反写源单,查询数据...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息