Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

关于OE 7销售经理,销售区域经理,销售员之间的信息权限问题



  • 公司销售部门有A B C D E F五个人
    A为销售总监
    B为销售一组的经理
    C为销售二组的经理
    E为销售一组的销售员
    F为销售二组的销售员
    实施的过程中,E只能看见自己的销售数据,B能看见E和B自己的销售数据;F只能看见自己的销售数据,C能看见F和C自己的销售数据;A能看见所有人的数据;
    实施过程如下;
    第一步、创建销售部,将五人全部加入到销售部
    第二步、A、E、F的权限比较好设置,本来就有,直接设置好就可以了
    第三步、为B、C创建名为 销售/销售组长  的权限组
    第四步、为B与C创建权限规则,代码如下:
              创建名称为“mydepartment”,对象为“销售订单明细 ”
              规则定义为  ['|',('order_id.user_id','=',user.id),('order_id.section_id.user_id','=',user.id)]
              组名称选择前面创建的  销售/销售组长

              创建名称为“mydepartment orders”,对象为“销售订单”
              规则定义为  ['|',('order_id.user_id','=',user.id),('section_id.user_id','=',user.id)]
              组名称选择前面创建的  销售/销售组长
     
              其它类似电话跟踪  商机线索等对象写法同上,主要指出sectiong_id.user_id  就可以了;
            [color=red] 我现在碰到的问题是,显示客户的时候的写法试论很多都没达成;不知道什么原因,希望版主给我点提示[/color]

    第五步、创建销售一组、销售二组,将销售一组的成员加上B盒E  销售二组的成员加上C和F

    自此创建完毕,测试成功了。。

    愿对大家有帮助



  • 公司销售部门有A B C D E F五个人
    A为销售总监
    B为销售一组的经理
    C为销售二组的经理
    E为销售一组的销售员
    F为销售二组的销售员
    实施的过程中,E只能看见自己的销售数据,B能看见E和B自己的销售数据;F只能看见自己的销售数据,C能看见F和C自己的销售数据;A能看见所有人的数据;
    实施过程如下;
    第一步、创建销售部,将五人全部加入到销售部
    第二步、A、E、F的权限比较好设置,本来就有,直接设置好就可以了
    第三步、为B、C创建名为 销售/销售组长  的权限组
    第四步、为B与C创建权限规则,代码如下:
              创建名称为“mydepartment”,对象为“销售订单明细 ”
              规则定义为  ['|',('order_id.user_id','=',user.id),('order_id.section_id.user_id','=',user.id)]
              组名称选择前面创建的  销售/销售组长

              创建名称为“mydepartment orders”,对象为“销售订单”
              规则定义为  ['|',('order_id.user_id','=',user.id),('section_id.user_id','=',user.id)]
              组名称选择前面创建的  销售/销售组长
     
              其它类似电话跟踪  商机线索等对象写法同上,主要指出sectiong_id.user_id  就可以了;
            [color=red] 我现在碰到的问题是,显示客户的时候的写法试论很多都没达成;不知道什么原因,希望版主给我点提示[/color]

    第五步、创建销售一组、销售二组,将销售一组的成员加上B盒E  销售二组的成员加上C和F

    自此创建完毕,测试成功了。。

    愿对大家有帮助



  • 再次测试了一下;
    像以上方式写了权限规则以后,我们之后不管如何对管理信息权限分级,只要把部门设置好,比如销售一组,还要分销售一小组,销售二小组,都是可以完成的,但请注意团队成员的增减问题;

    不知道我的描述是否清楚



  • section_id字段是什么意思?
    如果分部门,你的做法,可能不行。

    我在HR模块里,设置了类似的组别和不同的上下级部门。
    domain通过department_id来限定部门人员显示,但是=后面的值,只能设定为user.id。但实现不了这样的效果。



  • [quote author=claro link=topic=16342.msg27888#msg27888 date=1397537806]
    section_id字段是什么意思?
    如果分部门,你的做法,可能不行。

    我在HR模块里,设置了类似的组别和不同的上下级部门。
    domain通过department_id来限定部门人员显示,但是=后面的值,只能设定为user.id。但实现不了这样的效果。
    [/quote]

    section_id字段  是指销售模块里面的销售分组 

    你说的是调用人力资源里面的数据字段,要调用人力资源里面的数据字段是要在 hr.py  里面添加一个语句的



  • 继续汇报研究结果:

    以上order_id.section_id.user_id','=',user.id,这里的section_id的引入值为报价单所属的部门,整个语句的意思是  当此张报价单所属部门的部门领导为当前用户时,当前用户可以拥有这种报价单的权限;

    这样就会出现一个问题;报价单只能属于一个部门,但是有的时候有的公司同时有两个部门都需要操作此报价单时,那样就无法实现了;所以条件语句需要做一个添加;
    要能表达成,当此张报价单所属的部门领导为当前用户,或此张报价单所属的销售员的默认部门的部门领导为当前用户时也显示;这样就可以达到两个部门的领导都需要此报价单权限的时候完成满足;具体语句为'order_id.user_id.default_section_id.user_id','=',user.id;
    但是还会出现的逻辑问题就是:如果是三个部门要看呢?

    这里之所以写default_section_id  是因为我们可以在用户界面给出这个传值,而且是唯一的,如果这里写section_id 用户可以属于好几个部门,一个用户,应该是即属于自己的部门,也属于自己上级部门的上级部门的人员,这样section_id这个值就不唯一了;那样语句规则就会报错;

    所以看来,这个办法还是一个笨办法;

    版主可否再给点提示,这个确实费脑!



  • ['|','|',('order_id.user_id','=',False),('order_id.user_id','=',user.id),('order_id.section_id','child_of',[user.default_section_id.id])]



  • mark,经常看到有人提出类似的问题



  • 看了一下,还是没有想到怎么解决四级或四级以上的权限解决方案。

    楼主的例子,只实现3级。总监、小组经理、业务员。

    如果有总监,区域经理、小组经理,业务员,那么区域经理这一级就实现不了了。如下例:
    人员:A / B1 /B2  /C1/C2/C3 /D1/D2/D3/D4
    层级结构:
    A
    --B1
    ----C1
    ------D1
    ------D2
    ----C2
    ------D3
    --B2
    ----C3
    ------D4

    应该有人遇到这问题吧,请高手指点。


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待