【BOS学习 2】如何实现用户在新增时申请人等于创建人,申请人带出部门及岗位信息?原创
5人赞赏了该文章
232次浏览
未经作者许可,禁止转载编辑于2024年09月27日 14:59:39
摘要由AI智能服务提供
本文介绍了在用户新增或变更时,如何自动设置申请人、申请部门及岗位信息的系统配置方法。首先,通过控件设置建立创建人、申请人和人员信息之间的关联。其次,在单据头添加实体服务规则,包括创建人赋值给人员信息、人员信息赋值给申请人,并自动获取申请人的部门和岗位信息。最后,设置相关字段的锁定性和可见性,确保配置生效。
有用
反馈
需求:
用户新增时,申请人自动等于创建人,并且自动带出申请部门、岗位信息
申请人变更后,申请部门、岗位信息也会变更
效果:
步骤一 控件设置
创建人是用户,申请人是员工,为了使两者进行连接必须要有一个中转站(人员信息)。引用属性、即时触发更新事件更据个人选择进行设置。
标识 | 元素类型 | 标题 | 基础资料类型 | 引用属性 | 即时触发更新事件 |
F_TT_CreatorId | 创建人 | 创建人 | 用户(SEC_User) | 用户.联系对象 | √ |
F_TT_Creator | 基础资料 | 人员信息 | 人员详细信息(公共)(DB_Person) | 人员信息.用户 | |
F_TT_User | 基础资料 | 申请人 | 员工(BD_EMPinfo) | 岗位信息单据体.所属部 门 | √ |
岗位信息单据体.就任岗位 | |||||
F_TT_Sqbm | 基础资料 | 申请部门 | 部门(BD_Department) | ||
F_TT_Job | 基础资料 | 岗位 | 岗位信息(HR_ORG_HRPOST) |
步骤二 单据头添加实体规则
为了使用户在新增时,申请人自动带出,所以我们需要在单据头添加实体服务规则。
1. 新增实体服务规则
【获取人员详细信息】规则条件设置为F_TT_CreatorId <> null OR F_TT_User <> null 。只有实体规则中包含的字段,才会在值更新中触发实体服务规则。这是实现需求2的必要条件,否则申请人变更后,申请部门、岗位不会自动变更。
2. 新增服务
服务描述 | 服务类型 | 公式 | 含义 |
1. 创建人赋值给人员信息 | 计算定义公式的值并填写到指定列 (值更新、新增) | F_TT_Creator = F_TT_CreatorId.FLinkObject.id | 人员信息 = 创建人.联系方式 |
2. 人员信息赋值给申请人 | F_TT_User = F_TT_Creator.FEmpInfo.id | 申请人 = 人员信息.员工 | |
3. 获取申请人部门 | F_TT_Sqbm=GetStaffInfo('F_TT_User','FPostDept') | 申请部门 = GetStaffInfo('F_TT_User','FPostDept') | |
4. 获取申请人岗位 | F_TT_Job = GetStaffInfo('F_TT_User','FPost') | 岗位 = GetStaffInfo('F_TT_User','FPost') |
注意:值更新一定要勾选,否则值更新时,实体服务规则不会生效!
步骤三 设置锁定性及可见性
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!