Skip to content

数据权限

一、功能概述

1. 功能简介

数据权限模块,用于实现行级数据可见性权限管控。 行级权限控制,是对业务单据、基础档案的数据行进行隔离:不同操作人员只能看到授权范围内的数据记录,而不是控制菜单按钮。

本系统支持多类行级权限项目,每一类对应一套独立的数据隔离规则:

  1. 部门查询权限(组织机构 / 片区 / 门店数据隔离,截图示例)
  2. 工厂权限(只允许查看指定工厂的数据)
  3. BOM / 配方类型权限(仅可浏览对应配方分类档案)
  4. 合作伙伴权限(客户、供应商按合作对象做数据行隔离)

启用入口:在【机构权限控制】系统参数中,勾选对应项目的启用开关;特点默认不启用数据权限的情况,所有数据都可以自由查询得到。

2. 前置启用条件

  1. 打开【机构权限控制】系统选项;
  2. 勾选对应权限项目的系统启用参数(例如勾选【使用部门查询权限】,开启组织机构行级权限);
  3. 保存系统参数,重新打开数据权限功能,即可进入新版配置界面。

3. 适用范围

  1. 多组织架构下,按部门、工厂、片区隔离业务数据;
  2. 配方、客户、供应商等基础档案,按分类 / 对象做行级浏览隔离;
  3. 上下级组织机构权限自动继承,也可单独为某一条业务数据自定义权限矩阵。

二、界面布局说明

整体窗口分为左右两大区域:

image.png

左侧:组织机构权限列表(或者其他行级数据表,例如下面的业务伙伴)

image.png

列名称作用说明
组织机构树形部门架构,展示全部组织节点
不继承权限(fCustom)勾选代表:本级不再继承上级权限,手动自定义权限
权限勾选列(动态生成)根据所选权限项目自动生成权限项,打勾=拥有该项权限

右上区域:数据项目选择

  1. 【数据权限类型】按钮:用来切换权限项目(如:部门查询权限、BOM类型权限等);
  2. 树形列表:业务数据对象(工厂、仓库、片区、伙伴等),选中某一条数据,下方加载该条数据对应的部门权限。

工具栏按钮(顶部菜单栏)

按钮功能
编辑进入编辑模式,允许修改权限
保存(完成)保存当前所有权限修改
生效提交权限配置,写入数据库
退出关闭窗口,未保存会弹出提醒

右键菜单

  1. 全选本级权限:一次性勾选当前行所有权限项;
  2. 清空本级权限:取消当前行所有勾选;
  3. 批量设置下级继承/取消继承:批量操作子机构权限继承模式。

三、核心业务规则(对应源代码逻辑)

规则1:权限两种模式(继承 / 自定义)

  1. 继承模式(默认)
  • 组织机构行【不继承权限】不打勾;
  • 当前部门自动沿用上级部门的所有权限配置,无法手动修改勾选;
  • 双击树形节点可切换继承状态。
  1. 自定义模式
  • 勾选【不继承权限】;
  • 本级权限脱离上级,可手动勾选每一项权限;
  • 根级顶级机构强制必须启用自定义权限,无法使用继承。

规则2:下级批量继承控制

在右侧业务数据树形节点上双击【不继承权限】列:

  1. 取消继承时,系统弹出二次确认:
  • 选项1:清除原有继承授权,下级权限全部清空;
  • 选项2:保留原有授权,仅关闭继承关系,原有勾选保留。
  1. 支持批量操作:
  • 【全选所有下级】:给选中节点下全部子机构开启继承;
  • 【取消所有下级】:批量关闭子机构继承,并选择是否保留权限。

规则3:权限保存机制

  1. 修改权限勾选后,标记fModificat=1,系统识别为已变更;
  2. 点击【保存】,先保存组织机构权限勾选;
  3. 再保存上下级继承关系配置;
  4. 点击【生效】,正式写入权限数据表。

规则4:权限项目过滤

  1. 普通操作员:仅能看到管理员分配给其的公共权限项目;
  2. 超级管理员:可以查看全部已注册的数据权限项目;
  3. 如果权限项目绑定了系统参数,参数未勾选时,该项目会被锁定无法打开。

四、分步操作教程

步骤1:打开权限窗口

  1. 系统菜单 → 权限管理 → 数据权限;
  2. 点击【数据权限类型】按钮;
  3. 在弹出选择窗口,选中权限类别项目,例如编号【部门查询权限】,确定进入配置界面。

步骤2:选择业务数据对象

  1. 在右侧树形列表,选中需要配置权限的数据(例如:01片区 或者 0001供应商),选择你认为需要控制的需要保密的数据;
  2. 左侧自动加载所有组织机构,展示该条数据对应的部门权限矩阵。

步骤3:设置权限继承模式

点击【编辑】按钮,然后右边的表格,可以双击定义权限模式 ,选择你希望哪个部门(以及其下级部门)需要有看到这个行级数据的权限,就进去双击修改

image.png

默认【查询】列不打勾,就表示不能查询;如果上级机构有打勾的情况下,自己机构通过继承权限,也就视为拥有查询权限。

方案A:沿用上级权限(推荐)

  1. 不勾选【不继承权限】;
  2. 当前部门自动跟随上级权限,无需手动勾选;
  3. 子机构默认同步继承本级配置。

方案B:单独自定义权限

  1. 双击该行【不继承权限】复选框,打上√;
  2. 此时权限勾选列变为可编辑状态;
  3. 逐项勾选允许的权限,不需要的权限留空。

步骤4:批量维护子机构继承

  1. 在右侧业务树形节点选中某条数据;
  2. 右键菜单 → 取消所有下级;
  3. 在弹窗选择:是否保留已有权限;
  4. 程序自动遍历全部子节点,批量修改继承标记。

image.png

步骤5:保存并生效权限

  1. 权限勾选完成后,点击顶部【保存】;
  2. 再点击【完成/生效】提交修改;
  3. 切换其他数据行继续配置,切换时会自动保存当前行未提交的变更。

步骤6:退出窗口

如果存在未保存修改,系统弹窗:

  • 选择【是】:先保存再关闭;
  • 选择【否】:放弃本次所有修改直接退出。

五、特殊约束与限制

  1. 根节点限制
    顶级组织机构(根节点)不允许开启继承,强制必须自定义权限,双击无法取消自定义标记。
  2. 只读锁定
    未点击【编辑】按钮时,整个权限表格处于只读状态,无法修改勾选。
  3. 继承与修改互斥
    只要当前行处于继承模式,权限勾选框会被锁定,只有开启“不继承”才能编辑勾选项。
  4. 权限项目注册控制
    仅在数据表Right_DataRight中注册、且停用标记fStopSign=0的项目,才会出现在选择列表中。

六、常见问题排查

问题1:找不到【部门查询权限】这个项目

  • 联系安仕达服务顾问,指导进行 用户特点 项目设置;
  • 普通账号看不到:检查公共权限分配,需要在公共权限中给当前用户授权该权限项目。

问题2:勾选无法修改,一直灰色不可点

  1. 未点击顶部【编辑】按钮;
  2. 当前组织机构处于继承模式,必须勾选【不继承权限】才能编辑;
  3. 权限项目绑定了系统参数,参数未启用,项目被锁定。

问题3:修改权限后切换数据,勾选丢失

  • 原因:切换数据行前没有执行保存;
  • 解决方案:切换业务数据对象时,程序会自动触发保存,若手动强行切换,会提示先保存变更。

问题4:下级机构权限没有跟随上级自动继承

  • 检查右侧树形节点【不继承权限】是否被手动关闭;