配置此会计事件,除字段取值规则外的其他定义,例如:来源的单据、选择用于调试的来源单据、定义分录结构。
选择需要生成凭证的来源单据(领域模型元素)。
选择具体的来源单据数据,在单据引擎调试时使用,不影响外部调用时的实际传参。
调试时,主要关注生成的数据是否正确,不建议选择太多调试单据,若不涉及聚合,选择1条即可,若涉及聚合,至多不超过10条。
定义此会计事件的借贷结构,凭证生成的类型适用于财务核算场景,需要符合有借必有贷,借贷必相等的原则,请保证至少有1行借方和1行贷方。
分录行定义:
方向:借、贷,默认借方,点击后切换贷方
自动切换:最终此行生成的借贷金额为负数,是否需要切换借贷方向,详见对应章节
名称:分录行名称
单据来源层级:此凭证行对应来源单据的哪个层级,影响凭证行的聚合逻辑,详见对应章节
分录行操作:
设置:快速定位到此行的字段映射配置
复制:复制行,但不包括此行的字段映射规则
删除:删除行,删除后对应行的字段映射规则同样被删除,无法恢复,请谨慎操作
当此行生成的借贷金额为负数时,是否需要切换借贷方向。
交易币借方 - debit_trans与交易币贷方 - credit_trans为一组,本位币借方 - debit_local与本位币贷方 - credit_local为一组,进行互换。
以交易币借贷为例:
| 行号 | 配置:方向 | 配置:自动切换 | 切换前计算:借方金额 | 切换前计算:贷方金额 | 是否切换 | 切换后:借方金额 | 切换后:贷方金额 | 
|---|---|---|---|---|---|---|---|
| 1 | 借 | 启用 | 1 | 否 | 1 | ||
| 2 | 贷 | 启用 | 1 | 否 | 1 | ||
| 3 | 借 | 未启用 | -2 | 否 | -2 | ||
| 4 | 贷 | 未启用 | -2 | 否 | -2 | ||
| 5 | 借 | 启用 | -3 | 是 | 3 | ||
| 6 | 贷 | 启用 | -3 | 是 | 3 | 
定义此凭证行对应来源单据的哪个层级,该层级有多少条数据,则会生成多少凭证行。
因此,单据来源层级的配置会影响凭证行的聚合逻辑,需要结合字段映射来理解。
例如来源单据是头行结构的领域模型:

假设来源单据01,包含5行明细:
| 头.单据编号 | 行.行号 | 行.金额 | 
|---|---|---|
| 01 | 1 | 10 | 
| 01 | 2 | 20 | 
| 01 | 3 | 30 | 
| 01 | 4 | 40 | 
| 01 | 5 | 50 | 
假设配置的分录有2行(先忽略借贷方向),分录行的借贷净额字段,需要取来源单据明细行的金额字段,这需要用到单据联查的取值规则,详见字段映射章节对该规则的解释。
我们来看看不同的单据来源层级的配置,会对生成的凭证行数据有何影响:
| 配置:行号 | 配置:单据来源层级 | 凭证行数=来源层级数据条数 | 借贷净额:取值路径 | 借贷净额:计算逻辑 | 结果:行号 | 结果:借贷净额 | 
|---|---|---|---|---|---|---|
| 1 | 头 | 1 | 头(1)->行(5)->行.金额(5)->求和(1) | sum(10,20,30,40,50) = 150 | 1 | 150 | 
| 2 | 头 | 1 | 同上 | 同上 | 2 | 150 | 
如果取值规则中,计算类型不用【求和】,用【查询】,则会在每行凭证中得到5条行金额数据,与目标行数不一致,会抛出异常。
| 配置:行号 | 配置:单据来源层级 | 凭证行数=来源层级数据条数 | 借贷净额:取值路径 | 借贷净额:计算逻辑 | 结果:行号 | 结果:借贷净额 | 
|---|---|---|---|---|---|---|
| 1 | 行 | 5 | 行(5)->行.金额(5)->查询(5) | 10 | 1 | 10 | 
| 20 | 2 | 20 | ||||
| 30 | 3 | 30 | ||||
| 40 | 4 | 40 | ||||
| 50 | 5 | 50 | ||||
| 2 | 行 | 5 | 同上 | 10 | 6 | 10 | 
| 20 | 7 | 20 | ||||
| 30 | 8 | 30 | ||||
| 40 | 9 | 40 | ||||
| 50 | 10 | 50 | 
如果取值规则中,计算类型不用【查询】,用【求和】,其实是在各自的5行里,对自身的1行求和,结果会与查询一样。
| 配置:行号 | 配置:单据来源层级 | 凭证行数=来源层级数据条数 | 借贷净额:取值路径 | 借贷净额:计算逻辑 | 结果:行号 | 结果:借贷净额 | 
|---|---|---|---|---|---|---|
| 1 | 行 | 1 | 头(1)->行(5)->行.金额(5)->求和(1) | sum(10,20,30,40,50) = 150 | 1 | 150 | 
| 2 | 行 | 5 | 行(5)->行.金额(5)->查询(5) | 10 | 2 | 10 | 
| 20 | 3 | 20 | ||||
| 30 | 4 | 30 | ||||
| 40 | 5 | 40 | ||||
| 50 | 6 | 50 | 
前两种情况的结合。
回到顶部
咨询热线
