【权限】用户 xxx 没有 单据xxx 的业务权限!

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

【权限】用户 xxx 没有 单据xxx 的业务权限!

一、问题描述

    双击打开某二开菜单的时候,弹出信息提示框提示:用户 xxx 没有 客户预估单_查看 的业务权限!

    


二、分析解答

1、菜单和权限项是否绑定?

    在客户化菜单编辑页面可以看到,这个二开菜单是绑定了了权限项的。

    根据脚本可以查到菜单绑定的权限项id:

SELECT function FROM T_PM_MainMenuItem where FNUMBER ='【这里输入菜单的编码】'   


2、用户确实分配了权限吗?

    在用户管理界面选择该用户后点【查看权限】,切换到该业务组织下可以看到确实有分配这个权限项。另外,后台通过脚本查,该用户在该组织下确实有这个权限,且没有被禁止(用户组织权限相关查询SQL)。

    另外,这个权限项“客户预估单_查看”的主业务组织类型是1,表示财务组织(权限项的主业务组织类型的影响),查询脚本:SELECT FORGRELATION  FROM T_pm_permitem where FALIAS_L2 LIKE '%【这里输入权限项的别名】%'。

 而授权组织“CN****.***.**.***”确实是财务组织,从数据层面看,不管是权限数据、还是组织数据,以及用户的权限数据都是没有问题的。

3、再回到错误提示本身来分析

Caused by: com.kingdee.eas.base.permission.PermissionException: 用户 zfr 没有 客户预估单_查看 的业务权限!
	at com.kingdee.eas.base.permission.app.service.FunctionPermissionService.checkPermission(FunctionPermissionService.java:908)
	at com.kingdee.eas.base.permission.app.PermissionControllerBean.checkBindPerm(PermissionControllerBean.java:575)
	at com.kingdee.eas.base.permission.app.PermissionControllerBean.checkFunctionPermission(PermissionControllerBean.java:559)
	at com.kingdee.eas.base.permission.app.PermissionControllerBean._checkFunctionPermission(PermissionControllerBean.java:1666)
	at com.kingdee.eas.base.permission.app.AbstractPermissionControllerBean.checkFunctionPermission(AbstractPermissionControllerBean.java:292)

    

    信息提示“用户 xxx 没有 客户预估单_查看 的业务权限!”,没有提示哪个组织,正常应该要提示出具体的组织名称。从这里看,推测可能还是跟组织数据有问题。用户登录EAS后,切换到授权组织下打开菜单时,要到上下文中查找该XXXX权限项的主业务组织类型对应的组织。具体到本例,是到上下文中查找“客户预估单_查看”的主业务组织类型“财务组织”对应的组织是哪个。

    在查询分析器中输入  ctx,选中后点【运行服务端脚本】后可以获取到上下文信息:

    从上下文信息可以看到,没有获取到当前登录组织的财务组织信息。这是怎么回事呢?t_org_company表中也可以查到这个业务组织,说明就是财务组织,为什么上下文中获取不到呢?是不是这个组织的数据有问题,所以在获取主业务组织时没有获取到?

    问题就转到检查这个组织数据是否有问题。在组织单元菜单中,搜索到这个组织,编辑打开看看信息,发现编辑时就报中断了:

   


    错误详细堆栈信息:com.kingdee.bos.dao.ormapping.SQLAccessException: select data error.Invalid column name 'FENCRYPTIONKEY'.

    通过日志看到,是组织相关的表缺少了字段FENCRYPTIONKEY,可以在查询分析器中执行sql脚本加上该字段:

alter table T_ORG_COMPANY add FENCRYPTIONKEY varchar(80)

alter table T_ORG_OUPARTFI add FENCRYPTIONKEY varchar(80)

    这个字段是基础数据领域补丁PT173177(2023-9-8发布)添加的脚本,实现功能:组织单元财务组织属性中增加字段“加密密钥”,这个字段是自从861版本开始才有的字段。表缺少字段,应该是正式库备份的测试数据库没有执行补丁脚本导致的。

    加上字段后,重启客户端、重新登录,再去打开菜单,就可以打开了。

【权限】用户 xxx 没有 单据xxx 的业务权限!

一、问题描述 双击打开某二开菜单的时候,弹出信息提示框提示:用户 xxx 没有 客户预估单_查看 的业务权限! 二、分析解答1、菜单...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息