对方科目取数逻辑:
根据单张凭证中的分录顺序,借贷平衡为判断依据,对凭证内部进行分录编组,达成接待平衡的数据为一组,实际匹配对方科目时会进行隔离(可理解为不同凭证),以下会以组作为最小单元进行对方科目匹配
如果组内分录为全借方或全贷方,将会进行红字转换
循环组内数据,将表外科目的分录先进行匹配,匹配原则为自己对自己,
循环组内剩余数据,处理一借多贷,一贷多借的场景,对方科目为自己的反方向,
循环组内剩余数据,处理多借多贷的数据:
优先金额相等的借贷分录进行匹配
剩余为全借方或全贷方的组内数据进行红字转换
对转换后的借贷分录进行分别计数(以数量少的为本方,数量多的为对方)
循环本方数据,读取金额,并依次从对方科目进行金额取数(多退少补的原则),直到所有本方科目匹配完成
对以上拆分数据除表外科目的部分进行借贷互换的倍增(确保每条分录都能找到自己的对方)
注:PT146891明细账对方科目优化之后的取数逻辑。测试版本8.0.0.202206
T型账拆分逻辑
1.红字转换
2.按照enteyseq排序
3.分录合并
现金科目:科目币别
其他科目:科目币别维度
4.按借贷方向分组
5.拆分金额相等(源:借方 目标:贷方)
--拆分完成,结束
--拆分有剩余
6.拆分金额不等(源:剩余借方 目标:剩余贷方)
自动指定拆分逻辑
1.以借贷达到一次平衡为分组边界,先进行一次分组
2.分组后组内继续分组
-红字转换 -合并分录行
现金科目:科目币别方向汇率
损益科目:科目币别
双非:科目币别维度
3.拆分
- 全部双非:对方写自己,拆分完成
- 正常凭证:
--拆现金:拆分金额相等(源:现金借方 目标:非现金借)
--拆现金:拆分金额不相等(源:现金借方 目标:非现金借)
--拆现金:拆分金额相等(源:现金贷方 目标:非现金贷)
--拆现金:拆分金额不相等(源:现金贷方 目标:非现金贷)
--拆损益:拆分金额相等(源:损益借方 目标:非损益借)
--拆损益:拆分金额不相等(源:损益借方 目标:非损益借)
--拆损益:拆分金额相等(源:损益贷方 目标:非损益贷)
--拆损益:拆分金额不相等(源:损益贷方 目标:非损益贷)
--拆其他:拆分金额相等(源:其他借方 目标:其他借)
--拆其他:拆分金额相等(源:其他贷方 目标:其他贷)
--拆其他:拆分金额不相等(源:其他借方 目标:其他借)
--拆其他:拆分金额不相等(源:其他贷方 目标:其他贷)
注:拆分相等或不相等部分共用
推荐阅读