权限错误问题

问题:用户已分配了“账户用户”和“账户经理”等角色。但在访问“应收账款”报表时,用户仍收到无权限访问“地区主数据”的错误信息。

回答:

根据 ERPNext 的权限系统,用户要能访问某个表单或报表,必须至少对该表单/报表中的所有链接字段拥有读取权限。由于“地区”是“应收账款”报表中的一个链接字段,请添加一条权限规则,让“账户用户/经理”至少对“地区主数据”拥有读取权限。请按照以下步骤解决此问题。

  1. 分配给用户的角色是“账户用户”和“账户经理”。
  2. 如错误信息所示,该用户没有“地区主数据”的权限。根据默认权限,分配给该用户的上述角色均未对“地区主数据”拥有任何权限。
  3. 为解决此问题,我已为“账户用户”角色分配了“地区主数据”的读取权限。

根据此权限更新,用户应该能够正常访问“应收账款”报表。

权限级别错误

在权限管理器中自定义规则时,您可能会收到一条错误消息,内容如下:

对于系统管理员 (或其他角色),在客户 (或其他单据) 的第 8 行,级别 2 (或其他级别):必须先设置级别 0 的权限,然后才能设置更高级别的权限。

错误消息表明问题出在该单据的现有权限设置中。

对于任何角色,在分配权限级别 1 或 2(及更高)的权限之前,必须先分配权限级别 0 的权限。错误消息指出系统管理员已被分配了权限级别 1 和 2 的权限,但未分配级别 0 的权限。您应首先通过以下方式更正系统管理员角色的权限:

  • 为系统管理员分配级别 0 的权限。

或者

  • 删除级别 1 和 2 的权限。

执行上述任一步骤后,您应该能够成功地在角色权限管理器中添加新的权限规则。

最大用户数限制问题

您的 ERPNext 订阅取决于您订阅的系统用户数量。一旦超过该限制,系统将不允许您创建更多用户。例如,您订阅了 10 个用户。如果您已在账户中创建了 10 个系统用户,系统将不允许您创建第 11 个系统用户,并且您会看到以下消息。

要解决此问题,您需要执行以下操作之一:

  1. 购买新用户,或

  2. 禁用当前用户

然而,有时即使您尚未用尽订阅计划中的系统用户数量,仍可能遇到此问题。例如,您的限制是 5 个系统用户,而您只创建了 3 个用户。但在创建第 4 个用户时,您却收到了上述消息。原因可能是某些用户的“同时会话”字段值大于 1。

每个同时会话被视为 1 个系统用户。例如,如果您创建了 3 个用户,其中一人的“同时会话”设置为 3,那么您总共有 5 个用户,即 3 + 1 + 1 = 5 个同时会话/系统用户。

为了让系统允许您创建更多用户,您需要减少这些用户的同时会话数。为此,请进入用户的个人资料,在安全设置下,相应设置/减少“同时会话”的值。

注意: 您仍然可以创建网站用户,因为对此没有限制。

基于层级的用户权限

问题:

如何配置用户权限,使员工既能查看自己的费用报销单,也能查看向其汇报的下属的费用报销单?

答案:

在员工主数据中,可以为每位员工定义其汇报对象。根据定义的“汇报给”关系,员工层级结构也会随之建立。

员工层级结构

此外,当用户与员工关联后,系统会按如下方式创建用户权限。根据此用户权限,员工将能够查看自己在人力资源模块中创建的文档,以及为其下属员工创建的文档。

根据此配置,当向 Kenneth 汇报的用户创建费用报销单时,Kenneth 也能访问该报销单。

请确保在向其汇报的员工信息中,将上级员工的员工编号更新为“汇报给”字段。之后,经理应能查看为其下属创建的费用报销单及其他文档(如请假申请、绩效评估等)。

系统用户与网站用户的区别

问题: 我已将我的员工添加为用户,并为他们分配了角色。但他们登录后仍然无法查看仪表盘。

回答:

ERPNext 中有两种类型的用户。

  • 系统用户:通常是内部用户,如员工、经理和管理员,他们需要对 ERPNext 系统进行广泛访问以执行各种业务操作。他们拥有更高级别的访问权限和更详细的权限,允许他们与多个模块交互、生成报告和自定义工作流程。
  • 网站用户:通常是外部用户,如客户或供应商,他们通过网络门户与 ERPNext 系统交互。他们的访问权限仅限于与其需求相关的功能,例如下订单、查看订单状态或管理其账户信息。与系统用户使用的全面后台界面相比,他们的界面更简单。

以下是 ERPNext 中系统用户和网站用户的表格对比

系统用户 网站用户
此类型适用于管理内部活动和操作 适用于管理外部操作和交易
提供对 ERPNext 模块和功能的完全访问权限 提供对 ERPNext 模块和功能的受限访问权限
此类别的典型用户是内部员工 此类型的用户角色包括外部方,如客户、顾客等
由 ERPNext 内的管理员创建 可以自行注册或由管理员创建
提供对公司范围数据和报告的访问权限 仅提供对个人数据和有限报告的访问权限
可以查看、创建、编辑和删除记录 大多只能查看和创建与其相关的记录
在所有模块中拥有完整的数据录入能力 数据录入能力仅限于与其角色相关的部分

修改现有用户的邮箱地址

用户 ID 是根据电子邮件地址创建的。当用户重命名时,其值会在所有现有记录(包括变更日志)中更新。因此,这是一个资源密集型操作。如果在重命名用户时遇到超时问题,可以考虑使用更新后的电子邮件地址创建一个新的用户 ID,并禁用旧用户。

要更改用户的电子邮件 ID,请按照以下步骤操作:

用户列表 -> 打开该用户 > 点击菜单 -> 重命名 > 输入新的电子邮件 ID。保存

请参考此处展示相同操作的 GIF:

设置双重身份验证

##启用双因素认证(2FA)

通过运行以下命令激活双因素认证。

bench --site [站点名称] set-config enable_two_factor_auth true

在系统设置中指定以下内容

  • OTP 验证方式(OTP 应用 = 使用软件或硬件令牌的 TOTP,而电子邮件/短信 = 使用电子邮件或短信的 HOTP)
  • 如果指定了 OTP 应用,服务器上二维码的过期时间
  • OTP 发行者名称。

从设置中激活 2FA 后,它也会为“所有”角色激活。这样,包括管理员在内的所有用户都必须使用令牌进行第二级身份验证。通过取消选中“所有”角色中的“双因素认证”复选框,并在其他角色中启用它,可以将使用令牌登录的需求限制在特定角色。2FA 不适用于 Web 用户登录和 API 登录。

如果使用短信认证,请确保您的短信设置已更新。

如果使用电子邮件,请确保您的发件邮箱账户设置已更新。

当新用户首次尝试登录一个已启用双因素认证且认证方式为 OTP 应用的系统时,会发送一封包含二维码链接的电子邮件。

使用 Google Authenticator 等认证应用扫描二维码,即可为用户注册访问权限,并自动开始生成可用于登录的令牌。

如果使用电子邮件/短信作为认证方式,您还会收到通知。

常见问题解答(FAQ)

问:即使按照整个流程操作,我仍然无法登录。

答:Frappe 使用基于 TOTP 的 OTP 算法,该算法依赖于您设备的系统时间。请确保您使用的设备时间与您的 ERPNext 服务器时间一致。