字段级权限管理

基于角色限制字段可以通过大多数组织所需的权限级别轻松配置。要定义权限级别,您可以前往相应表单并进行自定义。

假设一个场景:组织不希望其员工(财务用户)在创建销售发票时编辑项目的单价。为此,我们只需将项目单价字段设置为只读。

步骤 1:自定义表单

要实现此目的,请前往自定义表单,选择文档类型为销售发票项目,滚动到项目单价字段并展开它。

步骤 2:权限级别

搜索权限级别,输入数字(0、1、2、3 等),然后保存。

步骤 3:权限规则

保存后,在角色权限管理器中点击添加新规则,选择文档类型和角色(本例中为财务用户),将权限级别设置为 2,并授予员工读取权限。

角色权限管理器将显示新创建的规则,权限级别为 2:

步骤 4:验证视图

现在,如您在销售发票中所见,用户只能读取项目单价字段,该字段将自动从价格列表中获取。

页面与报表的角色权限

可以通过“页面和报表的角色权限”来控制对不同页面和报表的访问。

单据类型包括销售订单、客户、供应商等。它们是一种单据类型,意味着每种类型可以包含多个单据。而页面是单个页面,例如销售设置。您不能创建多个销售设置,但可以创建多个销售订单。

在 ERPNext 中,用户可以使用页面创建自定义用户界面,并使用报表生成器或查询报表创建自定义报表。ERPNext 采用基于角色的权限系统,您可以为用户分配角色。相同的角色也可以分配给页面和报表,以授予访问权限。

如果用户启用了开发者模式,则可以直接在页面和报表记录中添加角色。在这种情况下,权限也会反映在页面/报表的 JSON 文件中。如果您希望限制可以访问 ERPNext 中某些页面和报表的角色,可以通过“页面和报表的角色权限”来实现。

要访问“页面和报表的角色权限”,请转到:

首页 > 用户和权限 > 页面和报表的角色权限

1. 如何使用页面和报表的角色权限工具

如果开发者模式已禁用,用户可以使用“页面和报表的角色权限”页面为页面和报表分配角色。

1.1 重置为默认值

使用“重置为默认值”按钮,用户可以移除对页面或报表应用的自定义权限。之后,该页面或报表将应用默认权限。

作为开发者从页面/报表设置角色权限

页面的角色权限

  1. 转到:首页 > 开发者 > 页面。
  2. 添加一行,并选择哪些其他角色可以访问该页面。 为页面分配角色

报表的角色权限

  1. 转到:首页 > 开发者 > 报表。
  2. 添加行,并选择可以访问该报表的角色。 为报表分配角色

角色与角色档案

角色定义了在 ERPNext 中访问各种文档的权限。

角色定义了一组权限,可以通过角色权限管理器进行设置。ERPNext 中已定义了最常用的角色,您可以直接使用这些角色来操作系统。如果需要,您还可以添加更多角色。例如,如果您将销售用户角色分配给某个用户,他们将能够访问报价单和销售订单等文档,因为销售用户角色的权限已经设置好。

角色配置文件用于存储不同的角色,以便可以一次性分配多个角色。

角色配置文件充当模板,用于存储和选择多个角色。然后可以将此角色配置文件分配给用户。例如,销售主管将拥有员工、销售经理、销售用户和销售主经理等角色。在添加多个员工时,角色配置文件有助于一次性分配多个角色。

要访问角色,请前往:

首页 > 用户和权限 > 角色

1. 如何添加角色

  1. 前往角色列表,点击新建。
  2. 输入角色的名称。
  3. 选择该角色是否具有桌面访问权限。具有桌面访问权限的角色可以访问 ERPNext 模块和公司的文档。访问级别取决于分配给用户的角色。
  4. 保存。

您可以为该角色添加双因素认证,并将其限制在特定领域。从这里,您可以前往角色权限管理器,为不同文档类型设置该角色的权限。

2. 如何添加角色配置文件

要访问角色配置文件,请前往:

首页 > 用户和权限 > 权限 > 角色配置文件

  1. 前往角色配置文件列表,点击新建。
  2. 输入名称。
  3. 选择要分配给此配置文件的角色。
  4. 保存角色配置文件

基于角色的权限

可以使用基于角色的权限来控制对不同文档的访问权限。

ERPNext 拥有一个基于角色的权限系统。这意味着您可以为用户分配角色,并可以为角色设置权限。角色权限管理器允许您设置哪些角色可以访问哪些文档以及拥有哪些权限(读取、写入、提交等)。

一旦为用户分配了角色,他们的访问权限就可以被限制在特定的文档上。权限结构允许您使用一个称为字段权限级别的概念,为不同字段定义不同的权限规则。

  1. 如何使用角色权限管理器

要开始使用角色权限管理器,请前往:> 首页 > 用户和权限 > 角色权限管理器

权限应用于以下组合:

  • 角色: 正如我们之前所见,用户被分配了角色,权限规则正是应用于这些角色。例如,销售用户可能被赋予员工和销售用户的角色。

角色的示例包括会计经理、员工、HR 用户等。

  • 文档类型: 每种类型的文档,无论是主数据还是交易单据,都有其独立的基于角色的权限列表,如前面的截图所示。

文档类型的示例包括销售发票、请假申请、库存录入等。

  • 权限级别: 在每个文档中,您可以按“级别”对字段进行分组。每个字段组由一个唯一的数字(0 到 9)表示。可以为每个字段组应用一组独立的权限规则。默认情况下,所有字段的级别都是 0。

权限“级别”将级别为 X 的字段与级别为 X 的权限规则连接起来。要了解更多信息,请点击此处。

  • 文档阶段: 权限应用于文档的每个阶段,如创建、保存、提交、取消和修改。一个角色可以被允许打印、发送电子邮件、导入或导出数据、访问报表或定义用户权限。
  • 用户权限:ERPNext 中使用用户权限,可以将用户限制为仅能访问该文档类型的特定文档。例如:只能访问所有地区中的一个地区。如果其他文档类型通过链接字段与当前文档类型相关,那么为这些文档类型定义的用户权限也会被应用。

例如,客户是销售订单或报价单中的一个链接字段。在角色权限管理器中,可以使用“设置用户权限”按钮来设置用户权限。

要根据文档/字段设置用户权限,请前往:> 首页 > 用户和权限 > 权限 > 用户权限

  • 添加新规则:在角色权限管理器中,要添加新规则,请点击添加新规则按钮,然后会弹出一个窗口,要求您选择一个角色和一个权限级别。选择后点击“添加”,这将在您的规则表中添加一个新行。
  1. 基于角色的权限如何工作

请假申请是一个很好的例子,它涵盖了权限系统的所有方面。

  • 它应该由员工创建。为此,员工角色应被授予读取、写入、创建权限。

  • 一个*

*员工**应该只能访问他/她自己的请假申请。因此,应该为每个用户-员工组合创建用户权限记录。

  • 如果您希望一个*

*员工**只能在另一个文档中选择一个文档,而不能整体读取该文档,那么只需为员工角色授予选择权限。

*HR 经理**应该能够查看所有请假申请。为 HR 经理创建一个级别为 0、具有读取权限的权限规则。应禁用“应用用户权限”。

*请假审批人**应该能够查看和更新其下属员工的请假申请。请假审批人被授予级别 0 的读取和写入权限。相关的员工文档应列入请假审批人的用户权限中。(对于在员工文档中提到的请假审批人,此工作量通过编程方式创建用户权限记录来减少)。

  • 它只能由 HR 用户或请假审批人批准/拒绝。请假申请的状态字段设置在级别 1。HR 用户和请假审批人被授予级别 0 的读取和写入权限,而其他所有人(所有角色)被授予级别 1 的读取权限。

*

HR 用户应该能够将请假申请委托给其下属。HR 用户被授予设置用户权限的权利。拥有 HR 用户角色的用户将能够为其他用户定义对请假申请的用户权限。

如果您已正确分配角色,但在访问文档时仍然遇到错误,请参考此页面。

3. 权限类型

在角色权限管理器中,可以为每个角色启用多种权限。以下是可用权限选项及其用法的详细信息。

权限 描述 示例
选择 允许用户搜索和查看记录。 用户可以在销售订单中选择一个客户,但无法打开客户主数据。
读取 允许用户查看文档。 用户可以查看销售发票,但无法修改它们。
写入 允许用户编辑他们有权限访问的现有记录。 用户可以更新客户地址,但无法创建新客户。
创建 允许用户创建新文档。 用户可以创建新物料,但无法编辑现有物料。
删除 允许用户删除文档。 用户可以删除已提交的文档。
打印 允许打印或下载文档的PDF。 文档中的打印按钮对用户启用。
电子邮件 允许用户从文档中发送电子邮件。 文档中的电子邮件按钮对用户启用。
报告 允许用户访问与文档相关的报告。 如果用户有员工访问权限且报告功能已启用,他们可以查看基于员工的报告。
导出 允许用户从报告视图中导出数据。 用户可以导出报告数据。
导入 允许用户将数据导入到文档中。 用户可以导入文档的数据。
共享 允许与其他用户共享文档访问权限。 用户可以与其他用户共享文档访问权限。
掩码(数据掩码) ERPNext版本16中,数据掩码允许根据用户的角色和权限配置特定字段以显示掩码或隐藏的值,而不限制字段的可见性。 确保敏感信息得到保护,同时保持用户界面的一致性和信息性。

禁用任意用户

如果您想禁止某个 ERPNext 用户使用系统,可以按照以下步骤操作。这在员工离职或需要禁止某些用户访问系统时非常有用。

如何禁用用户?

  1. 在搜索栏中输入“用户列表”
  2. 选择您要禁用的用户
  3. 取消勾选所选用户的“已启用”复选框
  4. 保存您的更改

保存更改后,该用户将在列表中被标记为“已禁用”,您可以根据需要随时重新启用。重新启用用户后,所有与之关联的配置将原样恢复。

修改用户密码

“更改密码”用于更改任何现有用户的密码。

每个 ERPNext 用户都可以更改自己 ERPNext 账户的密码。同时,拥有系统管理员角色的用户也可以为自己以及其他用户重置密码。

如何更改密码?

  1. 前往用户列表
  2. 打开需要更改密码的用户
  3. 进入“设置”,展开名为“更改密码”的部分
  4. 输入新密码并保存表单

注意:- 根据密码的复杂程度,系统会提示输入的密码是弱密码还是强密码

共享

“共享”功能允许用户将特定文档与 ERPNext 中的其他用户分享。

除了用户和角色权限外,如果您拥有某个文档的共享权限,还可以将该文档分享给其他用户。请注意,即使该文档通过用户权限被限制,共享的文档仍会对其他用户可见。

如何共享文档?

  1. 打开您想要共享的文档,然后点击“已共享”下的“+”图标。
  2. 选择需要共享文档的用户。
  3. 如果文档需要与所有用户共享,则只需选择“所有人”。
  4. 勾选适当的复选框,为共享文档的用户提供相关权限。
  5. 点击“添加”按钮以添加该用户。
  6. 您可以逐个添加用户,将同一文档与多个用户共享。

注意:- 文档会显示已与其共享的用户。

  1. 角色与角色配置文件
  2. 基于角色的权限
  3. 用户权限
  4. 页面和报告的权限设置

管理员

ERPNext 中的“管理员”权限高于系统管理员,拥有 ERPNext 账户的所有权利和权限。

系统管理员也拥有系统中大多数项目的权限,但管理员拥有不受限制的访问权限。管理员确保 ERPNext 系统的整体运行满足组织的需求。

  1. 如果您的 ERPNext 账户由我们(Frappe Technologies Pvt. Ltd.)托管在云端,您可以通过 Frappe Cloud 仪表盘访问“管理员”用户。
  2. 对于云端托管的账户,升级由后台管理。我们保留管理员登录凭据,以便从后台升级所有客户的 ERPNext 账户。
  3. 由于单个服务器上可能托管多个客户的 ERPNext 账户,作为安全措施,我们无法与任何云端托管用户共享管理员账户的凭据。(例外情况是,如果您购买了大量用户且您的账户独占一台服务器。)
  4. 对于自托管本地部署的账户,管理员凭据由账户用户持有。
  1. 添加用户
  2. 角色与角色配置文件
  3. 基于角色的权限
  4. 用户权限
  5. 页面和报表的角色权限

用户权限

用户权限是一种限制用户访问特定文档的方式。

基于角色的权限允许设置对文档类型(如销售发票、订单、报价单等)的完全(默认)访问权限。这意味着,当你为用户分配销售用户角色时,他们可以访问所有销售订单和报价单。

用户权限可用于根据文档中的链接字段限制对选定文档的访问。例如,假设你与多个地区有业务往来,并且希望限制某些销售用户只能访问属于特定地区的报价单/销售订单。这可以通过用户权限实现。限制可以设置在客户、供应商、客户组、供应商组等上。

当你希望基于以下条件进行限制时,设置用户权限特别有用:

  1. 允许用户访问属于一个公司的数据
  2. 允许用户访问与特定客户或地区相关的数据

要访问用户权限,请前往:> 首页 > 用户和权限 > 用户权限

  1. 如何创建用户权限

  1. 前往用户权限列表,点击新建。
  2. 选择要应用规则的用户。
  3. 选择要允许的文档类型(例如“公司”)。
  4. 在“允许值”下,选择你想要允许的具体项目(公司的名称)。
  5. 如果你勾选了“设为默认”,则在“允许值”中选择的值将默认用于该用户未来的所有交易。也就是说,如果选择了公司“Unico Plastics Inc.”作为“允许值”,则该公司将默认用于该用户未来的所有交易。

注意:对于特定用户的特定文档类型,只能设置一个用户权限为默认。

  1. 更多用户权限操作

2.1 高级控制

在高级控制中,你可以更好地控制用户权限的应用范围。

2.1.1. 适用于

你可以通过取消勾选“适用于所有文档类型”复选框,然后设置文档类型,选择性地仅将用户权限应用于特定文档类型。设置适用于选项将使当前用户权限仅适用于所选文档类型主记录下。

在上述用户权限中,用户将只能访问所选公司的销售订单。

注意: 如果未设置适用于,则用户权限将应用于所有相关的文档类型。

2.1.2. 隐藏后代

允许的值可以是一个具有树状视图的文档类型,该视图包含具有父子或祖先-后代关系的记录。

假设允许值“Unico Plastics Inc.”有一个子公司“Unico Toys”。当为“Unico Plastics Inc.”创建用户权限时,其子公司的权限也会被授予。

隐藏后代仅在选择了树状视图文档类型时可见。通过启用此复选框,将不会授予允许值的后代权限。

能够查看“Unico Plastics Inc.”记录的用户将无法查看“Unico Toys”的记录。

2.2 忽略特定字段上的用户权限

另一种允许所有人查看受用户权限限制的文档的方法是,通过前往自定义表单,勾选特定字段上的“忽略用户权限”。

例如,你不想限制任何用户对资产(Asset)的访问,则在表单类型中选择资产。在字段表下,展开公司字段并勾选“忽略用户权限”。

2.3 严格权限

当定义了用户权限时,对于特定角色——角色权限仅在用户权限被定义时应用。当特定用户没有用户权限时,可能有两种解释:

  1. 显示所有内容(无限制)
  2. 不显示任何内容(无权限)

你可以通过在系统设置页面上勾选“应用严格权限”,选择你希望如何解释这一点。

要了解更多,请前往系统设置页面。

2.4 检查用户权限如何应用

最后,一旦你创建了严密的权限模型,并希望检查它如何应用于不同用户,你可以通过用户允许的文档报告来查看。使用此报告,你可以选择用户和文档类型,并查看特定用户可以访问哪些文档。

勾选“显示权限”复选框将显示读取/写入/提交等访问级别。

注意:如果你无法访问此列表中的销售订单或任何其他文档类型,请确保已正确设置角色。

例如,用户 Bruce 被限制只能访问公司“Unico Plastics Inc.”。

  1. 添加用户
  2. 角色和角色配置文件
  3. 基于角色的权限
  4. 页面和报告的角色权限

基于角色的权限

可以使用基于角色的权限来控制对不同文档的访问。

ERPNext 拥有一个基于角色的权限系统。这意味着您可以将角色分配给用户,并可以为角色设置权限。角色权限管理器允许您设置哪些角色可以访问哪些文档以及拥有何种权限(读取、写入、提交等)。

一旦角色分配给用户,他们的访问权限就可以被限制在特定的文档上。权限结构允许您使用一个称为字段权限级别的概念,为不同字段定义不同的权限规则。

  1. 如何使用角色权限管理器

要开始使用角色权限管理器,请前往:> 首页 > 用户和权限 > 角色权限管理器

权限应用于以下组合:

  • 角色: 正如我们之前所见,用户被分配了角色,而权限规则正是应用于这些角色。例如,销售用户可能被赋予员工和销售用户的角色。

角色示例包括会计经理、员工、HR用户等。

  • 文档类型: 每种类型的文档,无论是主数据还是事务,都有一个单独的基于角色的权限列表,如前面的截图所示。

文档类型示例包括销售发票、请假申请、库存录入等。

  • 权限级别: 在每个文档中,您可以按“级别”对字段进行分组。每个字段组由一个唯一的数字(0 到 9)表示。可以为每个字段组应用一套独立的权限规则。默认情况下,所有字段的级别都是 0。

权限“级别”将级别为 X 的字段与级别为 X 的权限规则连接起来。要了解更多信息,请点击此处。

  • 文档阶段: 权限应用于文档的每个阶段,如创建、保存、提交、取消和修订。角色可以被允许打印、发送电子邮件、导入或导出数据、访问报告或定义用户权限。
  • 用户权限:ERPNext 中使用用户权限,可以将用户限制为仅能访问该文档类型的特定文档。例如:仅能访问所有地区中的一个地区。如果通过链接字段与当前文档类型相关联,则为其他文档类型定义的用户权限也会被应用。

例如,客户是销售订单或报价单中的一个链接字段。在角色权限管理器中,可以使用“设置用户权限”按钮来设置用户权限。

要根据文档/字段设置用户权限,请前往:> 首页 > 用户和权限 > 权限 > 用户权限

  • 添加新规则:在角色权限管理器中,要添加新规则,请点击添加新规则按钮,然后会弹出一个窗口,要求您选择一个角色和一个权限级别。选择后点击“添加”,这将在您的规则表中添加一个新行。
  1. 基于角色的权限如何工作

请假申请是一个很好的例子,它涵盖了权限系统的所有方面。

  • 它应该由员工创建。为此,员工角色应被授予读取、写入、创建权限。

  • 员工应该只能访问他/她自己的请假申请。因此,应该为每个用户-员工组合创建用户权限记录。

  • 如果您希望员工只能在另一个文档中选择一个文档,而不能对整个文档拥有读取权限,那么只需授予员工角色“选择”权限。

  • HR经理应该能够查看所有请假申请。为 HR 经理创建一个级别为 0 的权限规则,并赋予读取权限。应禁用“应用用户权限”。

  • 请假审批人应该能够查看和更新其下属员工的请假申请。请假审批人被授予级别 0 的读取和写入权限。相关的员工文档应列入请假审批人的用户权限中。(对于在员工文档中提及的请假审批人,通过编程方式创建用户权限记录,可以减少此项工作)。

  • 它应该只能由 HR 用户或请假审批人批准/拒绝。请假申请的“状态”字段设置在级别 1。HR 用户和请假审批人被授予级别 0 的读取和写入权限,而其他所有人(全部)被授予级别 1 的读取权限。

  • HR 用户应该能够将请假申请委托给其下属。HR 用户被授予设置用户权限的权利。拥有 HR 用户角色的用户将能够为其他用户定义关于请假申请的用户权限。

如果您已正确分配角色,但在访问文档时仍然遇到错误,请参考此页面。

  1. 用户权限
  2. 页面和报告的权限角色