一、问题描述
在账户管理策略里勾选取银企当前余额或银企可用余额,但自动上划都没有执行成功,提示上划金额为零;如没有勾选银企当前余额或银企可用余额,就可以正常自动生成上划单,为何产生这类问题?如何设置根据银企余额进行计算上划金额?
二、问题分析及系统逻辑介绍
解答这个问题之前,首先简单介绍下自动上划的一些系统逻辑:
1、 账户管理策略勾选“银企当前余额”、“银企可用余额”的区别:

1) 若勾选“取银企当前余额”,银行账户余额取银行账户余额表的“当前余额”;
2) 若勾选“取银企可用余额”,银行账户余额取银行账户余额表的“可用余额”;

3) 若两个都不勾选,则取银行账户的银行日记账余额。
从这个取数逻辑中可以推测出,如果没有勾选银企当前余额或银企可用余额,系统就会取银行日记账余额,启用出纳模块并产生业务登账后,银行日记账余额一般都是有值的,因此就可以根据银行日记账余额计算出上划金额,正常自动生成上划单。这就可以解释为何不勾选取银企余额就能自动产生上划单的现象。
2、 如何设置才能根据账户的银企余额计算上划金额,并成功执行自动上划?
系统提供两个后台事务支持进行自动上划:
1) 一个后台事务是自动上划调度,任务名称为TransUpBillFacade-autoTransUp,这个后台事务是每个版本发版预置的,EAS8.0及以上版本都有;
2) 另外一个后台事务是自动上划新调度,任务名称为:autoTransUpByNumber,这个后台事务只有8.5及以上版本才支持,是2022之后才做的,是对前一个后台事务的补充和优化。

86版本可通过搜索关键词“上划单”来查找自动上划任务,如下图:

85版本可通过搜索关键词“上划单功能对象”来查找自动上划任务,如下图:

接下来通过一个表格来展示这两个后台事务的区别:
差异点 | 后台事务autoTransUp(旧) | 后台事务autoTransUpByNumber(新) |
1 | • 只能够扫描到同后台事务执行时与自动划拨设置的划拨时间同一小时段的自动划拨设置 详细解释:自动划拨设置有一个划拨时间,自动划拨的后台事务也有一个执行时间,生成上划单的时间以后台事务执行的时间为准。后台事务执行时会检索是否有划拨时间在同一小时段的自动划拨设置,每一个自动划拨设置每天只能被调用一次。 举例说明:自动上划后台事务设置为16:30执行,就会去检索划拨时间在16点到17点之间(不包含17点)是否有自动上划设置,有自动上划设置则会按 |