本帖最后由 gengxiao 于 2016-6-1 13:59 编辑
单据权限大体介绍
功能概括:
单据权限是对人的权限的管理,单据权限可以设置职位对应的可以看到的内容
(比如销售员只可以看到他自己的客户和所有的公共客户信息,销售部主管可以看到所有销售员锁定的客户和所有公共的客户信息)。
适用模式:
需要根据员工权限查看不同内容的设置。 概念理解:
单据权限是根据 人--部门--角色,三者之间关联的一个关系。
人和部门通过单据关联,可以使得人和部门之间直接联系,部门和角色通过单据关联,可以使得部门和角色之间直接联系。
查询权限 更新权限 删除权限 预览权限
角色(销售员) 仅本人 仅本人 仅本人 仅本人
角色(部门主管) 仅本部门 仅本部门 仅本部门 仅本部门
操作流程:
【例:客户管理[53734],锁定客户的销售员,销售部主管,部门权限】
1.在编写过程中的LocalSql中,where后填写/*QueryRight(AA,490(单据类型),AA.iSalesId(销售员ID),AA.iDepartmentId)(部门ID)*/ (iSalesId需要识别右上角用用户ID ,所以通过销售员ID取到对应的用户ID)
2.在FormConfig中98项,添加bBillQueryRight 为true。(是否应用单据权限)
3.配置权限: 1)确定用户帐号属于销售员。【销售员管理 8422】
2)确定业务角色是销售员和销售主管。【业务角色管理 34002】
3)连接销售员帐号和部门下的角色连接关系。【用户部门角色 10376】
4)设置单据权限【单据权限管理 10326】
注意事项:
跟踪权限是否开通有两种方法:
① 跟踪Sql(ctrl+D):当权限开通正确时显示当前销售员的ID,错误时显示(1=2)说明上述操作流程中的设置没有设置全面,适用于开发过程中的调试。
-
② 在数据库测试:
1.查询是否为销售员:SELECT * FROM dbo.sdSales WHERE sUserNo='gengxiao1'
2.对应的角色中是否是销售员:select * from dbo.vwpbUserRole where iUserId=160(用户ID--右上角ID)
3.单据权限对应是否正确:select * from dbo.vwpbBillDataRight
where ibilltype=490(单据类型) and iuserid=160(用户ID--右上角ID) --and iOrganizationType=4
order by 1,2
③脚本同步,确保权限可通
sppbFormOperate_Init(同步)-
fnpbCalcSqlTextBillQueryRight(同步)-
vwpbUserRole(同步,select * fromdbo.vwpbUserRole where iUserId=0)-
vwpbBillDataRight(同步,select * fromdbo.vwpbBillDataRight
where ibilltype=490(单据) and iuserid=160 --and iOrganizationType=4 order by 1,2
|