1

我在 Openbravo 3.0 框架中有一个要求。我有两个用户,一个是 HR,另一个是员工。他们是用户窗口中的一个复选框,称为 HR USER .. 在我的窗口中,我需要编写一个只读逻辑,以便当 HR 登录时,记录必须是可编辑的,而当员工登录时,记录必须是不可编辑的,我知道如何对普通字段执行此操作,但是我没有得到任何关于用户验证的信息。在员工屏幕中,我将用户 ID 分配给该员工。

请帮忙

4

1 回答 1

0

基于登录用户的只读逻辑:

  1. 使用 PGAdmin 查询工具找出用户(HR 或员工)的 ID(主键)。
  2. 添加只读,如下所示。

在此处输入图像描述

基于登录角色的只读逻辑:

这可以通过三个步骤来实现

  1. 创建辅助输入。
  2. 找出角色(HR 或 Employee)的 ID(主键)
  3. 将只读逻辑与列相关联。

首先,我们需要添加一个辅助输入,使当前登录用户的 AD_ROLE_ID 可用于用户窗口。使用系统管理员角色导航到应用程序字典 || 设置 || 辅助输入并新建一条记录,如下图:

在此处输入图像描述

这将使#AD_ROLE_ID 会话变量通过@ROLE_ID@ 变量对HR 用户窗口的[user] 选项卡可用。

其次,您需要找出 HR 角色的 AD_ROLE_ID 是什么。使用 PgAdmin 查询 AD_ROLE 表并找出它。一个简单的查询揭示了以下内容:

 select ad_role_id, name from ad_role;

 ad_role_id                        | name
 ----------------------------------+---------------------------
 ....
 1000001                           | Admin
 SDJFALSDFJKLASJDFKLASDFASLDFJAKLSJ| velmurugan 
 SDFLAKSDJFLKASJDLFALSDFALDSKFJLAS | Employee
 DSKLFJAKLDSJFKLASJFKLADSJFLKAJSDFK| F&B US, Inc. - Admin
 ....
(38 rows)

HR角色的主键(AD_ROLE_ID)为054A32701D6D4CE6BF4F695DAB23EDB3。在您的情况下,这显然会有所不同。

有了这些信息,我们现在可以找到 HR User 字段定义并将其只读逻辑设置为@ROLE_ID@!'054A32701D6D4CE6BF4F695DAB23EDB3',如下所示:

在此处输入图像描述

于 2014-02-26T12:21:58.493 回答