关于上下查关联关系问题的思路分析
**需求背景**:
由于提单对上下查问题比较多,所以特意来总结一下,如何去分析这类的问题
### 1、上查能显示数据,但是显示数据不对 #### 1.1、多张上游单据生成一张下游单据,上查只显示一张上游单据 分析:上查只显示一张上游单据,说明是`有将关联关系存储到数据库当中`,这时需要去分析关联关系是如何存储到数据库当中 以及 查看是否有二开单据覆盖了框架生成的过滤条件
问题定位:是由于其上下游单据的拓展字段IsSaveBotpEntryRelation设置为false(即:不保存分录关联关系),所以需要将规则上面配置的源单据id和目标单据id进行比对(相等则返回关联关系,不相等返回null),由于多张上游单据合并成了一张下游单据(即:目标单据id只有一个),所以再比对时,只会有一张单据对比成功,就导致多张上游单据生成一张下游单据,上查只显示一张上游单据。
问题解决:只需将`上游或者下游任意一张单据的拓展字段IsSaveBotpEntryRelation设置为true`,让其走保存所有分录关联关系分支。
#### 1.2、多张上游单据生成一张下游单据,上查显示所有上游单据 分析:上查能显示所有数据,说明是有将`关联关系存储到数据库当中的`,这时需要去分析关联关系是如何存储到数据库当中 以及 查看是否有二开单据覆盖了框架生成的过滤条件
问题定位:当时处理这个提单时,查看关联关系再数据库中存储是完好的,定位到是二开的单据额外添加的过滤条件覆盖了框架生成的过滤条件导致查询了所有上游单据。
问题解决:只需将二开单据额外添加的过滤条件追加到框架生成的过滤条件后面即可,而不是覆盖框架生成的过滤条件
### 2、上下查,显示目标单据不存在 分析:上下查不能显示数据,说明没有将关联关系存储到数据库当中,这时需要去分析关联关系是如何存储到数据库当中
问题定位:是由于其上下游单据的拓展字段IsSaveBotpEntryRelation设置为false(即:不保存分录关联关系),所以需要将规则上面配置的源单据id和目标单据id进行比对(相等则返回关联关系,不相等返回null),由于规则上的源单据id配置错误(即:可能将源单据id配置成分录的id),所以再比对时,比对失败,导致返回null,也就无法将关联关系保存到数据库。
问题解决: 方案一:将上游或者下游单据的拓展字段IsSaveBotpEntryRelation设置为true,让其走保存所有分录关联关系分支
方案二:将botp规则中的源单据id设置正确即可 (例如:设置为上游单据的id)
**总结:** 关联关系思路分析: 1. 分析botp转换中的关联关系是如何生成的 2. 分析生成的关联关系是如何保存到关联关系表当中 3. 查看是否有二开的单据覆盖了框架生成的过滤条件
### 1、上查能显示数据,但是显示数据不对 #### 1.1、多张上游单据生成一张下游单据,上查只显示一张上游单据 分析:上查只显示一张上游单据,说明是`有将关联关系存储到数据库当中`,这时需要去分析关联关系是如何存储到数据库当中 以及 查看是否有二开单据覆盖了框架生成的过滤条件
问题定位:是由于其上下游单据的拓展字段IsSaveBotpEntryRelation设置为false(即:不保存分录关联关系),所以需要将规则上面配置的源单据id和目标单据id进行比对(相等则返回关联关系,不相等返回null),由于多张上游单据合并成了一张下游单据(即:目标单据id只有一个),所以再比对时,只会有一张单据对比成功,就导致多张上游单据生成一张下游单据,上查只显示一张上游单据。
问题解决:只需将`上游或者下游任意一张单据的拓展字段IsSaveBotpEntryRelation设置为true`,让其走保存所有分录关联关系分支。
#### 1.2、多张上游单据生成一张下游单据,上查显示所有上游单据 分析:上查能显示所有数据,说明是有将`关联关系存储到数据库当中的`,这时需要去分析关联关系是如何存储到数据库当中 以及 查看是否有二开单据覆盖了框架生成的过滤条件
问题定位:当时处理这个提单时,查看关联关系再数据库中存储是完好的,定位到是二开的单据额外添加的过滤条件覆盖了框架生成的过滤条件导致查询了所有上游单据。
问题解决:只需将二开单据额外添加的过滤条件追加到框架生成的过滤条件后面即可,而不是覆盖框架生成的过滤条件
### 2、上下查,显示目标单据不存在 分析:上下查不能显示数据,说明没有将关联关系存储到数据库当中,这时需要去分析关联关系是如何存储到数据库当中
问题定位:是由于其上下游单据的拓展字段IsSaveBotpEntryRelation设置为false(即:不保存分录关联关系),所以需要将规则上面配置的源单据id和目标单据id进行比对(相等则返回关联关系,不相等返回null),由于规则上的源单据id配置错误(即:可能将源单据id配置成分录的id),所以再比对时,比对失败,导致返回null,也就无法将关联关系保存到数据库。
问题解决: 方案一:将上游或者下游单据的拓展字段IsSaveBotpEntryRelation设置为true,让其走保存所有分录关联关系分支
方案二:将botp规则中的源单据id设置正确即可 (例如:设置为上游单据的id)
**总结:** 关联关系思路分析: 1. 分析botp转换中的关联关系是如何生成的 2. 分析生成的关联关系是如何保存到关联关系表当中 3. 查看是否有二开的单据覆盖了框架生成的过滤条件
关于上下查关联关系问题的思路分析
**需求背景**:由于提单对上下查问题比较多,所以特意来总结一下,如何去分析这类的问题### 1、上查能显示数据,但是显示数据不对#### 1....
点击下载文档
本文2024-09-16 22:17:48发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-47228.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章