GoodERP的权限设计
管理就是战略、组织和执行

公司内部对职责(或者说权力)的管理是针对岗位的。 

  • 授权,保证岗位人员正常工作 (战略,做什么)


  • 分权,保证相同岗位的人各自承担一块(组织,谁来做)

  • 掌权,保证内控别走偏(执行,怎么做)

  • 落实到ERP软件上,就有三个对应的机制


  • GoodERP中为每个岗位设置一个用户组(res.groups一般使用xml导入)


  • 可以为每一个用户分配多个用户组


  • 授权(ir.model.access一般使用csv导入),控制哪些岗位可以针对哪些数据表进行插删改查操作


  • 分权(ir.rule 一般使用xml导入),控制相同岗位的用户,根据数据表上的某个字段值作为条件,拥有这一块数据的插删改查权限


  • 掌权(xml标签里的groups属性),控制哪些岗位的用户可以看到指定的界面元素(不在此岗位的人看不到)

  • 举个栗子: 

    公司新来了一个员工Tim,我们要:

  • 给他新建一个用户
  • 分配 人事-员工 用户组给他
  • 这样,针对请假这个工作:

  • 此用户组包含请假记录(staff.leave)的查看、创建、修改、删除权限
  • Tim可以查看所有人的请假记录,但不能创建、修改或删除其他人的请假记录
  • 请假记录有个状态,已审核的请假记录是不允许修改的。而此状态的修改是由【审核】按钮控制的。那么我们在xml里指定了这个按钮的groups是人事经理,那么普通员工是看不到这个按钮的。这也就保证了只有人事经理岗位的人才能审批休假申请
  • 注意

  • 授权会随着向相同用户增加岗位而扩大,这也是小微企业常见的一人多岗
  • 分权要注意适用的岗位范围,一般部门经理需要查看所有部门人员分担的信息
  • 在GoodERP中,岗位权限的定义是在代码中实现的,那么个性化定制建议也采用模块内写代码的方式,这样更直观可控
  • 原创
    给老板讲会计
    参照《写给老板读的会计书》目录