文档中心合并合并2.5顾问使用手册六、各环节的配置说明5.凭证组件5.3凭证模型组件

5.3凭证模型组件

凭证模型用于定义凭证的数据结构,区分不同凭证类型配置字段属性、功能和权限。

新建元素目前有两种方式:

  • 方式一:通过【元素对象】新建元素

  • 方式二:通过【元素管理】新建元素:

新建时需要选择entity实体字段的层级:

  • entity实体字段是系统预置字段,与value合并路径字段成对出现,在单体公司核算场景中,value字段作为记账本位币

  • 单实体凭证:可以选择将entity和value字段放在凭证头

  • 多实体凭证:可以将其放在凭证行,以实现在一张凭证中管理多个业务实体

一旦凭证模型保存后,不可再修改字段的层次结构:

如果已经在使用单实体凭证,想要迁移至多实体进行管理,可参考以下方案进行数据迁移:数据迁移方案

  • 第一个tab叫『字段配置』,在此处可以看到凭证模型为预置的头行结构1:N的两张表,凭证头和凭证尾区域的字段来自头表,凭证行区域的字段来自行表

  • 点开凭证头和凭证行旁边的设置icon可以配置数据表编码和名称信息

  • 初始进入页面时展示的所有字段均为系统字段,不可删除;除维度字段需要自行绑定维度外,其他字段的属性均有默认配置,可按情况修改,不修改也不影响保存

  • 点击添加自定义字段 ,可以按需增加字段,并为其配置属性

字段类型

属性

文本

编码、名称、长度

值列表

编码、名称、值列表元素

维度

编码、名称、维度元素

小数

编码、名称、整数长度、小数长度

整数

编码、名称、长度

用户

编码、名称

日期时间

编码、名称

  • 预置字段说明:

层级

编码

描述

类型

说明

_main_id

系统主键

文本

凭证头表数据的系统主键

_account_event

会计事件

文本

预留给会计引擎组件使用,暂无相关功能

_tag

标签

值列表

核算或报表

_type

业务类型

值列表

journal_id

凭证编号

文本

业务主键

journal_name

凭证名称

文本

is_balance

是否平衡日记账

值列表

值不为true的凭证,无需进行借贷平衡校验

comment_head

备注

文本

scenario

场景

维度

version

版本

维度

year

会计年度

维度

period

会计期间

维度

头/行

entity

实体

维度

头/行

value

合并路径

维度

check_status

校验状态

值列表

校验功能使用

post_status

过账状态

值列表

过账功能使用

approve_status

审批状态

值列表

审批功能使用,暂无相关功能

is_reverse

是否冲销

值列表

冲销功能使用,暂无相关功能

origin_journal_id

原始单据号

文本

冲销功能使用,暂无相关功能

trx_currency

交易币种

维度

外币交易场景使用,暂无相关功能

convert_type

汇率类型

文本

外币交易场景使用,暂无相关功能

convert_date

汇率日期

日期时间

外币交易场景使用,暂无相关功能

convert_rate

汇率

小数

外币交易场景使用,暂无相关功能

create_by

制单人

用户

create_time

制单时间

日期时间

approve_by

审核人

用户

审批功能使用,暂无相关功能

approve_time

审核时间

日期时间

审批功能使用,暂无相关功能

post_by

过账人

用户

post_time

过账时间

日期时间

_main_id

系统主键

文本

凭证行表数据的系统主键

journal_id

系统主键

文本

联合业务主键,关联凭证头字段

line_no

行号

文本

联合业务主键

account

科目

维度

movement

变动项

维度

comment_line

凭证行备注

文本

trx_debit

交易币借

小数

外币交易场景使用,暂无相关功能

trx_credit

交易币贷

小数

外币交易场景使用,暂无相关功能

trx_amount

发生净额

小数

外币交易场景使用,暂无相关功能

debit

本币借

小数

credit

本币贷

小数

amount

发生净额

小数

除了实际表的结构和字段,凭证相关的功能、权限等都是区分凭证类型进行管理的:

标签可选「核算」和「报表」,关于标签的区别说明看这里:

Entity+Value使用

  • 针对每个字段可以配置为使用不使用;字段前的勾选框选中后,会出现切换为使用/不使用的按钮(如果勾选框为灰,则表示该字段强制使用)

  • 自定义字段默认不使用,首次添加自定义字段时需要手工标记为使用

  • 在这里标记为不使用的字段,在该凭证类型创建的凭证模板中不会出现

  • 可配置的字段属性包括:有效性范围、默认值、必填、只读

    • 有效性范围:凭证数据保存时会校验,不可超出有效性范围

    • 默认值:为凭证模板提供默认值、通过接口新增数据时若无值则填充默认值

    • 必填:在凭证模板中强制必填,凭证数据保存时会有非空校验

    • 只读:在凭证模板中强制只读、忽略外部赋值

  • 某些预置字段带有预置逻辑,不允许编辑<必填>和<只读>,会随功能联动,后续在【凭证功能】章节详解

凭证功能用于实现除数据保存外的其他财务功能,例如借贷平衡校验、编码自动生成、过账等。


可以先看 [4. 执行逻辑](#cPVJ3) 再回来配这里

  • 此处可配置保存前后置及删除前后置逻辑,每个位置可配置多条,顺序执行,前一条报错或is_success=false则中止执行

  • 各节点能选择的逻辑范围不一致,目前支持的选择范围如下

逻辑

保存前置

保存后置

删除前置

删除后置

借贷平衡校验

净额计算-借正贷正

净额计算-借正贷负

过账(需启用)

校验(需启用)

自定义逻辑

···

预置规则会影响对应字段的生成规则、必填/只读属性


可以先看 [5. 序列管理](#Ek6K5) 再回来配这里

执行策略说明:

  • 任何情况下均生成:通过页面或接口传入值,将忽略并将其替换为应用预置规则生成的值

  • 仅在值为空时生成:如果通过页面或接口传入值,则将值落库,如果值为空,则应用预置规则生成值并落库

规则

影响的凭证字段

可选执行策略

影响字段属性

详细配置

新增数据时记录制单人&制单时间

凭证尾:


create_by-制单人

create_time-制单时间

不启用

无影响

任何情况下均生成

强制非必填


强制只读

仅在值为空时生成

强制非必填

新增数据时自动生成凭证编码

凭证头&凭证行:


journal_id-凭证编号

不启用

强制必填

任何情况下均生成

强制非必填


强制只读

由多个规则类型按顺序连接,支持的规则类型见下文

仅在值为空时生成

强制非必填

由多个规则类型按顺序连接,支持的规则类型见下文

新增凭证行数据时自动生成行号

凭证行:


line_no行号

任何情况下均生成

强制必填


强制只读

不可配置,始终采用起始值=1、步长=1的策略自增

凭证编码支持的规则类型:

  1. 固定值:需填写固定值,如JOURNAL

  2. 当前时间:可选择/年月/年月日的具体样式,例YYYY-MM-DD

  3. 随机码:由 0-9a-zA-Z 随机生成,需填写位数,可填写范围1-24

  4. 字段信息:允许从头表选择字段

  5. 序列:允许从已添加的序列中选择,可开启【固定位数】功能,开启后将按设置的位数生成固定位数的序列值,使用填充字符进行左填充

  • 中断逻辑同逻辑配置

  • 校验逻辑影响凭证头字段的check_status-校验状态字段值,启用校验功能后,该字段:

    • 强制「必填」、「只读」

    • 默认值为false,全部校验逻辑通过后改为true;

  • 执行后如有数据更新,则更新为false,需重新校验

  • 功能开启/关闭,控制凭证模板上的校验按钮是否可用/禁用

  • 用于将凭证模型中的数据保存至对应的财务模型中

  • 可添加多个过账配置

  • 如开启过账功能,则已过账数据不允许修改或删除

  • 过账配置:

    • 编辑名称

    • 删除过账配置

    • 选择目标财务模型

    • 维护目标财务模型字段,选择凭证字段,过账到对应的财务模型维度字段

  • 执行逻辑查看4)过账

  • 过账逻辑影响凭证头字段的post_status-校验状态 post_by-过账人 post_time-过账时间字段值,启用过账功能后:

    • post_status强制「必填」、「只读」

    • post_status默认值为false,过账成功后改为true,再取消过账改为false

    • post_by和post_time强制「非必填」、「只读」

模型层的权限配置实现了从底层对凭证数据、功能进行控制。

凭证模型的权限体系目前分为两块区域:

  • 权限方案:单独不生效,后续在权限配置中配置权限条件后才生效

  • 权限配置:目前有两大权限分类——数据功能,分类下包含具体的权限项,可以为每个权限项分别配置权限条件,满足条件则拥有该权限,未配置条件或条件不满足则无该项权限

启用后,必须配置用于控制凭证头权限的权限方案元素,并配置权限方案的维度与凭证头字段的映射。

可选择性启用控制凭证行权限的权限方案元素,但目前仅凭证查看的权限支持到凭证行,其他权限项有凭证头权限就有全部凭证行的权限。

关联的权限方案元素可用于:

  • 为后续权限配置中,提供角色/角色组选项

  • 若后续权限配置中,未配置角色/角色组的条件,则默认全部角色/角色组

配置步骤:

  • 选择权限方案元素

  • 权限维度字段映射

    • 权限方案的维度若启用了权限控制,则必须配置映射的凭证字段

    • 凭证头的维度映射只能从凭证头表的维度字段中选择

    • 凭证行的维度映射只能从凭证行表的维度字段中选择

    • 选择的凭证字段关联的维度,必须和权限方案维度是同一个维度元素

权限分类

权限配置项

实际对应权限

数据读写权限

凭证管理

增、删、改、查

凭证修改

改、查

凭证查看

业务功能权限

过账

过账

取消过账

取消过账

每条权限配置项,允许配一个适用条件。

权限条件配置说明

支持单个条件或条件组

条件间关系支持且和或,同一层级的条件间关系只能都是且或都是或

筛选字段:可选 角色/角色组 值列表字段(管理员角色不受 角色/角色组 条件限制,只受 值列表字段 的约束)

操作符:参考

嵌套筛选条件

值:参考

嵌套筛选条件

【凭证查看】权限支持在凭证头条件的基础上,细化到【凭证行】,其他的只要有凭证头权限就有全部凭证行的权限,如果不配置凭证行的条件,则不会对凭证行额外控制权限,即只要有头权限就有全部行权限。

权限配置目前分为【数据读写权限】和【业务功能权限】两类,可以单独控制是否启用:

  • 未启用,则不控制权限

  • 启用后,则判断具体的【权限配置项】是否满足对应的权限条件

    • 满足:有权限

    • 不满足:无权限,注意管理员角色不受权限条件中角色/角色组的条件限制

    • 未配置条件:普通用户无权限,仅管理员角色有权限

应用在「凭证模板」上,权限控制效果为:

实际权限

【数据】效果

【按钮】效果

数据读写权限

无「查」

展示无权限页面

禁用:保存

有「查」无「改」

展示数据,但输入控件与行操作按钮均禁用

禁用:保存

有「查」和「改」

输入控件正常使用,是否禁用跟随凭证模板的字段配置

业务功能权限

过账

不满足「允许过账条件」,禁用:过账

取消过账

不满足「允许取消过账条件」,禁用:取消过账

例1:已过账凭证不允许修改,需要实现打开凭证详情时不允许编辑

需求分析:仅当凭证的过账状态=是时,实际权限为有「查」无「改」,所以可「改」的权限条件为过账状态=否

权限配置:

Copy
1. 开启数据读写权限,`凭证管理`和`凭证修改`权限的条件是`过账状态=否`

Copy
2. 打开凭证的效果:


例2:多实体凭证,当用户仅有查看权限时,需要控制凭证行的查看权限

权限配置:

Copy
1. 凭证行关联权限方案
2. 开启数据读写权限,`凭证查看`中为【凭证行】配置条件

3. 打开凭证的效果: 1. 管理员:能看到所有行(2行) 2. A公司用户:只能看到A公司的 3. B公司用户:只能看到B公司的


不区分凭证类型的配置。

1、支持配置多个复制动作,凭证清单全局按钮和凭证模板按钮可选;

2、除主键等系统字段和凭证功能相关字段外,其余字段均与原凭证相同;

3、权限与凭证新建权限一致。


添加动作:

添加后的动作支持:编辑、删除、复制

配置项说明:

配置项

可选项

选项说明

指定年份、期间

复制时选择

复制时,用户需在对话框中选择新凭证的年份和期间,用以指定新凭证的yearperiod字段值

记录原始单据号

开启/关闭

新凭证的origin_journal_id字段是否需要记录原始凭证的journal_id

添加的动作可以在凭证清单全局按钮和凭证模板按钮中使用。

以凭证清单全局按钮为例,展示使用效果:

  1. 按钮配置

  2. 按钮使用

1、支持配置多个冲销动作,凭证清单全局按钮和凭证模板按钮可选;

2、除主键等系统字段和凭证功能相关字段外,其余字段均与原凭证相同;

3、权限与凭证新建权限一致。


添加动作:

添加后的动作支持:编辑、删除、复制

配置项说明:

配置项

可选项

选项说明

冲销方式

红字冲销

冲销凭证的debitcredittrx_debittrx_credit字段值均为原始凭证的负数

切换借贷项

冲销凭证和原始凭证的debit/credit字段值互换、trx_debit/trx_credit字段值互换

指定年份、期间

冲销时选择

冲销时,用户需在对话框中选择新凭证的年份和期间,用以指定新凭证的yearperiod字段值

记录原始单据号

开启/关闭

新凭证的origin_journal_id字段是否需要记录原始凭证的journal_id

回写原始单据的冲销状态

开启/关闭

冲销成功后,是否将原始单据的is_reverse字段回写为true,暂无其他状态控制逻辑

添加的动作可以在凭证清单全局按钮和凭证模板按钮中使用。

以凭证清单全局按钮为例,展示使用效果:

  1. 按钮配置

  2. 按钮使用

  • 头表字段is_balance-是否平衡日记账:用于标记凭证是否需要进行平衡校验

    • 为true时,触发借贷平衡校验(例如在保存前后置配置借贷平衡校验,则在对应节点触发校验)

    • 为false或不填时,则不执行校验

  • 判断逻辑为

    1. trx_debit-交易币借 trx_credit-交易币贷相等

    2. debit-本币借 credit-本币贷相等

  • trx_amount-发生净额 =trx_debit-交易币借-trx_credit-交易币贷

  • amount-发生净额 =debit-本币借-credit-本币贷

  • 根据科目类型变动类型判定净额计算方向

科目类型

变动类型

计算逻辑

ASSET EXPENSE

INC OPN BAL

净额 = 借方 - 贷方

DEC

净额 = 贷方 - 借方

LIABILITY EQUITY REVENUE

INC OPN BAL

净额 = 贷方 - 借方

DEC

净额 = 借方 - 贷方

其他组合

其他组合

抛错

  • 科目类型说明:凭证行字段account-科目关联的维度元素,其维度成员的科目类型属性

  • 变动类型说明:凭证行字段movement-变动项关联的维度元素,其维度成员的变动类型属性

  • 执行逻辑请看这里:

02 模型-类型添加及配置

  • 目前仅支持Python逻辑,返回格式请参考python2.0脚步返回格式V2版

  • 单次弹出的提示信息,同一类型(成功/提示/警告/错误)只会弹出最新的一条

  • 序列为公共配置项,因此单独一个tab在最左侧;所谓公共配置项是说多个业务类型可以共用;

  • 起始值和步长,比如都是1,则序列为1,2,3…

  • 是否循环是说有没有封顶的值,比如说封顶是10,那超过10就从起始值开始循环

  • 是否分组记录序列值:可以选择凭证头和凭证行的字段,如分组字段为Entity,则按Entity的成员有自己的序列值,比如A-1;B-10,每个成员独自计数

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send