配置此会计事件,除字段取值规则外的其他定义,例如:来源的单据、选择用于调试的来源单据、定义分录结构。
选择需要生成凭证的来源单据(领域模型元素)。
选择具体的来源单据数据,在单据引擎调试时使用,不影响外部调用时的实际传参。
调试时,主要关注生成的数据是否正确,不建议选择太多调试单据,若不涉及聚合,选择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 |
前两种情况的结合。
回到顶部
咨询热线
