如何在单据上实现自动取员工的主任岗部门或者主任岗岗位?GetstaffInfo函数的用法介绍原创
金蝶云社区-茗德馨
茗德馨
37人赞赏了该文章 3,203次浏览 未经作者许可,禁止转载编辑于2022年08月30日 19:28:07
summary-icon摘要由AI智能服务提供

本文介绍了在星空8.0.100.202203版本中,由于员工任岗单据体不支持直接配置取岗位或部门,平台提供了GetStaffInfo公式用于自动获取单据上员工的主任岗部门或岗位。该公式有两个参数,通过不同参数配置可分别获取部门或岗位信息。文章通过两个案例详细说明了如何在出差申请单等单据上实现自动带出主任岗部门或岗位,并介绍了如何设置实体服务规则以实现自动携带功能。

部分用户,由于流程设计的需要,需要在单据上自动带出员工的主任岗位或者员工主任岗的部门。但是由于员工任岗是一个单据体,不支持直接配置取岗位或者部门,取出来是一个集合,配置公式会报错,所以,星空8.0.100.202203版本,平台有封装一个公式GetStaffInfo,支持配置自动取取单据上员工的主任岗部门或者主任岗岗位。

GetstaffInfo('p1','p2'),本函数有2个入参。获取部门时,p1为员工标识,p2固定为FPostDept﹔获取岗位时,p1为员工标识,p2固定为FPost。


具体用法举例如下:


案例一:实现取单据上员工的主任岗部门。如出差申请单,实现费用申请部门自动取申请人的主任岗部门。


在申请人字段上,添加引用属性,岗位信息单据体.所属部门。然后在申请人字段做值更新, 公式为:FCostDeptID = GetStaffInfo( 'FStaffID' ,'FPostDept')。


image.png

实现效果为,在出差申请单上,选择申请人字段,带出费用承担部门为申请人的主任岗部门。

image.png

如果希望新增单据默认就带出来,可以在单据头做实体服务规则,公式一样,前置条件为申请人不为空。

image.png


案例二:实现取单据上员工的主任岗岗位。如出差申请单,实现申请人岗位自动取申请人的主任岗岗位。


在申请人字段上,添加引用属性,岗位信息单据体.就任岗位。在bos加一个基础资料字段,基础资料类型绑定岗位信息,设置过滤条件为:

FPOSTID  in (select FPOSTID from T_BD_STAFF where FEMPINFOID = 'GetValue(FStaffID)' AND FFORBIDSTATUS = 'A'),可以实现,岗位F8开窗选择时,可选择的岗位,只有申请人任岗的岗位。
其中FStaffID 标识取的是申请人标识

image.png

但是这样,还是会需要手工去选一下岗位,不能实现自动携带,所以,我们要用到GetStaffInfo公式,在单据头做实体服务规则,前置条件为: FStaffID  <> null(意思是:申请人不为空), 公式为:F_ces_Base = GetStaffInfo( 'FStaffID' ,'FPost')。

image.png
image.png

实现效果,新增即带出申请人岗位

image.png

F8开窗选择,可以选择这个员工任岗的其它岗位

image.png

岗位携带逻辑为:有主任岗就默认带主任岗(不区分单据的组织),如果没有主任岗,就带员工在这个组织(单据主业务组织)下的第一个任岗 岗位

赞 37