ERPNext里面,审批大体上可以分成 两套机制:
一、通用工作流:按角色审批
这一套就是系统里的:
- Workflow(工作流)
- Role(角色)
- User(用户)
它的基本逻辑是:
不是先指定“某一个人”审批,
而是先指定“某一个角色”审批。
只要某个用户拥有这个 Role(角色),他就可以执行这个审批动作。
你可以这样理解
比如你做一个付款审批流程:
- 第一步:员工提交
- 第二步:财务审核
- 第三步:总经理批准
这时候你在 Workflow(工作流) 里面配置的,通常不是“张三”“李四”这种具体名字,
而是:
- Accounts User(财务用户)
- Accounts Manager(财务经理)
- HR Manager(人事经理)
- System Manager(系统管理员)
- 或者你自己新建的审批角色
也就是说:
谁能审批,取决于他有没有这个角色
如果一个用户被分配了某个 Role(角色),
那他就能对对应状态的单据执行:
- Approve(批准)
- Reject(驳回)
- Verify(确认)
- Submit(提交)
- Cancel(取消)
所以你说的这句话,对“标准 Workflow”来说基本是对的:
必须先把人员定义一个角色,属于那个角色的人员,才能做对应审批。
二、HRMS 里的指定审批人:按具体人审批
但 ERPNext 里还有另一种情况,尤其是在 HRMS(人力资源模块) 里面。
像这些场景,系统往往不只是按角色来做:
- Leave Application(请假申请)
- Expense Claim(费用报销)
- Shift Request(班次调整申请)
- 某些考勤、人事类审批
这类场景经常支持:
直接指定“具体某个人”作为审批人,
而不只是指定一个角色。
三、什么意思?举个最简单的例子
比如员工 A 提交请假单:
- 如果走标准 Workflow(工作流),你可能配置的是:
- 由 HR Manager(人事经理) 审批
- 但在 HRMS 场景下,也可以设置成:
- 员工 A 的请假审批人就是 某一个具体用户
这时候就不是“谁有人事经理角色,谁都能批”,
而是“系统指定的那个人来批”。
四、ERPNext 里为什么会有这两套机制?
因为两类业务的需求不同。
1)通用单据审批,更适合按角色
比如这些业务:
- 采购申请
- 付款申请
- 合同审批
- 自定义表单审批
这些流程更强调“岗位职责”,
所以适合用 Role(角色) 来控制。
比如:
- 财务经理这个岗位谁在做,谁就审批
- HR 经理这个岗位谁在做,谁就审批
这样人员变动时,不需要每次去改工作流,
只要改用户的 Role(角色) 分配就行。
2)人事类审批,更适合按具体人
比如:
- 员工请假
- 员工报销
- 员工调班
这些往往是“谁的直属上级批”“谁的部门负责人批”,
所以更适合直接指定到 User(用户) 级别。
这样会更贴近真实管理场景。
五、你最关心的问题:是不是一定要先定义角色?
答案是:
不是所有审批都必须先靠角色。
要分情况看:
情况 1:标准 Workflow(工作流)
一般是要先定义 Role(角色) 的。
也就是:
- 先建好 Role(角色)
- 再把 User(用户) 分配到这个角色
- 然后在 Workflow(工作流) 中配置这个角色可以执行什么动作
这时,审批权限主要是靠 Role(角色) 来控制。
情况 2:HRMS 指定审批人
可以直接指定具体 User(用户) 作为审批人。
这时不一定非要靠角色来决定“谁审批”,
系统也可能通过:
- 员工档案中的审批人设置
- 部门层级中的审批人设置
- 文档共享机制
把某张单据的审批权,直接给某一个具体用户。
也就是说:
在 HRMS 场景下,
审批人可以是“具体某个人”,
不一定非得是“某个角色下面的人”。
六、你可以把它理解成下面这个区别
| 机制 | 系统字段/概念 | 控制方式 | 粒度 | 适合场景 |
|---|---|---|---|---|
| 通用工作流 | Workflow(工作流) + Role(角色) | 谁拥有这个角色,谁能审批 | 角色级 | 采购、付款、自定义审批 |
| 指定审批人 | User(用户) / 员工审批人 | 直接指定某个人审批 | 人员级 | 请假、报销、调班、人事流程 |
七、总结
标准 Workflow(工作流)
是:
先定义角色,再让有这个角色的人去审批。
HRMS 指定审批人
是:
直接指定某一个人来审批。
八、最实用的落地判断方法
你以后看 ERPNext 审批时,可以直接用这个方法判断:
如果你看到的是:
- Workflow(工作流)
- Workflow State(工作流状态)
- Transition(流转动作)
- Role(角色)
那基本就是:
按角色审批
如果你看到的是:
- 员工档案里维护审批人
- 部门里维护审批人
- 某张单据自动共享给某个人
- 某类 HR 单据只能某个具体人处理
那基本就是:
按具体用户审批
九、结论
ERPNext 不是只有一种审批方式。
- Workflow(工作流):主要按 Role(角色) 审批
- HRMS 人事类流程:可以按 User(用户) 指定具体审批人
ERPNext 的通用审批偏“角色驱动”,而 HRMS 的部分审批支持“具体人驱动”。