公司内部对职责(或者说权力)的管理是针对岗位的。
授权,保证岗位人员正常工作 (战略,做什么)
分权,保证相同岗位的人各自承担一块(组织,谁来做)
掌权,保证内控别走偏(执行,怎么做)
落实到ERP软件上,就有三个对应的机制
GoodERP中为每个岗位设置一个用户组(res.groups一般使用xml导入)
可以为每一个用户分配多个用户组
授权(ir.model.access一般使用csv导入),控制哪些岗位可以针对哪些数据表进行插删改查操作
分权(ir.rule 一般使用xml导入),控制相同岗位的用户,根据数据表上的某个字段值作为条件,拥有这一块数据的插删改查权限
掌权(xml标签里的groups属性),控制哪些岗位的用户可以看到指定的界面元素(不在此岗位的人看不到)
举个栗子:
公司新来了一个员工Tim,我们要:
给他新建一个用户
分配 人事-员工 用户组给他
这样,针对请假这个工作:
此用户组包含请假记录(staff.leave)的查看、创建、修改、删除权限
Tim可以查看所有人的请假记录,但不能创建、修改或删除其他人的请假记录
请假记录有个状态,已审核的请假记录是不允许修改的。而此状态的修改是由【审核】按钮控制的。那么我们在xml里指定了这个按钮的groups是人事经理,那么普通员工是看不到这个按钮的。这也就保证了只有人事经理岗位的人才能审批休假申请
注意
授权会随着向相同用户增加岗位而扩大,这也是小微企业常见的一人多岗
分权要注意适用的岗位范围,一般部门经理需要查看所有部门人员分担的信息
在GoodERP中,岗位权限的定义是在代码中实现的,那么个性化定制建议也采用模块内写代码的方式,这样更直观可控