电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.工作流.参与人类型.参与人变量

来源:金蝶云社区作者:金蝶2024-09-235

二开案例.工作流.参与人类型.参与人变量

【应用场景】

设计时:设置参与人变量,可选变量有单据字段,流程信息等。

运行时:基于设置的参与人变量,基于当前上下文,解析出真实用户。



【设计时】

上传图片

上传图片



【运行时】

上传图片



【解析类】

参与人变量由业务对象WF_D_VariableMember进行定义。

-- 查询参与人类型(WF_D_ParticipantType)
SELECT * FROM T_WF_PARTICIPANTTYPE
ORDER BY FORDER
-- 查询参与人变量解析类(WF_D_VariableMember)
SELECT b.FNAME AS 业务对象名称,a.FREFBDFORMID AS 业务对象标识,a.FPARTICIPANTTYPEID AS 参与人类型,a.FWRAPPERCLASS AS 参与人解析类 
FROM T_WF_VARIABLEMEMBER a
LEFT JOIN T_META_OBJECTTYPE_L b ON a.FREFBDFORMID=b.FID AND b.FLOCALEID=2052



基础资料相关的参与人变量解析类:

ParticipantType.Department(部门):Kingdee.K3.BD.App.Core.WorkflowMemberWrapper.DepartmentMemberWrapper,Kingdee.K3.BD.App.Core

查询SQL示例:

-- 通过部门(BD_Department)查询员工任岗信息(BD_NEWSTAFF)
SELECT  s.FSTAFFID
FROM    T_BD_DEPARTMENT cet
        INNER JOIN T_BD_STAFF s ON cet.FDEPTID = s.FDEPTID
                                   AND s.FDOCUMENTSTATUS = 'C'
                                   AND s.FFORBIDSTATUS = 'A'
WHERE   cet.FDEPTID = 100706
        AND cet.FDOCUMENTSTATUS = 'C'
        AND cet.FFORBIDSTATUS = 'A'; 
        
-- 通过员工任岗信息(BD_NEWSTAFF)查询用户(SEC_User)   
SELECT  U.FUSERID ,
        U.FNAME ,
        STAFF.FPOSTID ,
        STAFF.FSTAFFID
FROM    T_BD_STAFF STAFF
        INNER JOIN V_BD_CONTACTOBJECT CONTACT ON STAFF.FPERSONID = CONTACT.fid
                                                 AND CONTACT.FDOCUMENTSTATUS = 'C'
                                                 AND CONTACT.FFORBIDSTATUS = 'A'
        INNER JOIN T_SEC_USER U ON U.FLINKOBJECT = CONTACT.fid
                                   AND U.FFORBIDSTATUS = 'A'
WHERE   STAFF.FSTAFFID IN ( 467678 )
        AND STAFF.FDOCUMENTSTATUS = 'C'
        AND STAFF.FFORBIDSTATUS = 'A';


ParticipantType.Empinfo(员工):Kingdee.K3.BD.App.Core.WorkflowMemberWrapper.EmpinfoMemberWrapper,Kingdee.K3.BD.App.Core

查询SQL示例:

-- 根据员工(BD_Empinfo)查询用户(SEC_User)
SELECT  U.FUSERID ,
        U.FNAME ,
        EMP.FID EMPINFOID
FROM    T_HR_EMPINFO EMP
        JOIN V_BD_CONTACTOBJECT CONTACT ON EMP.FPERSONID = CONTACT.fid
                                           AND CONTACT.FDOCUMENTSTATUS = 'C'
                                           AND CONTACT.FFORBIDSTATUS = 'A'
        JOIN T_SEC_USER U ON U.FLINKOBJECT = CONTACT.fid
                             AND U.FFORBIDSTATUS = 'A'
WHERE   EMP.FID IN ( 100885 )
        AND EMP.FDOCUMENTSTATUS = 'C'
        AND EMP.FFORBIDSTATUS = 'A';


ParticipantType.Operator(业务员[例如:采购员、质检员、业务员、计划员、销售员、仓管员、财务人员]):Kingdee.K3.BD.App.Core.WorkflowMemberWrapper.OperatorMemberWrapper,Kingdee.K3.BD.App.Core

查询SQL示例:

-- 根据业务员(BD_OPERATOR)查询用户(SEC_User)
SELECT  U.FUSERID ,
        U.FNAME ,
        STAFF.FPOSTID
FROM    T_BD_OPERATORENTRY OPERA
        INNER JOIN T_BD_STAFF STAFF ON OPERA.FSTAFFID = STAFF.FSTAFFID
                                       AND STAFF.FDOCUMENTSTATUS = 'C'
                                       AND STAFF.FFORBIDSTATUS = 'A'
        INNER JOIN V_BD_CONTACTOBJECT CONTACT ON STAFF.FPERSONID = CONTACT.fid
                                                 AND CONTACT.FDOCUMENTSTATUS = 'C'
                                                 AND CONTACT.FFORBIDSTATUS = 'A'
        INNER JOIN T_SEC_USER U ON U.FLINKOBJECT = CONTACT.fid
                                   AND U.FFORBIDSTATUS = 'A'
WHERE   OPERA.FISUSE = '1'
        AND OPERA.FENTRYID IN ( 300752 );


ParticipantType.Organization(组织机构):Kingdee.BOS.Workflow.App.Core.Participant.MemberWrapper.OrganizationMemberWrapper,Kingdee.BOS.Workflow.App.Core

查询SQL示例:

-- 根据组织机构(ORG_Organizations)查询用户(SEC_User)
SELECT  B.FUSERID ,
        B.FNAME ,
        A.FORGID
FROM    T_SEC_USERORG A
        INNER JOIN T_SEC_USER B ON A.FUSERID = B.FUSERID
WHERE   B.FUSERID <> 16394
        AND B.FFORBIDSTATUS = 'A'
        AND B.FUSERTYPE = '1';


ParticipantType.Post(岗位):Kingdee.K3.BD.App.Core.WorkflowMemberWrapper.PostMemberWrapper,Kingdee.K3.BD.App.Core

查询SQL示例:

-- 根据员工任岗(BD_NEWSTAFF)的岗位(HR_ORG_HRPOST)查询用户(SEC_User)
SELECT  U.FUSERID ,
        U.FNAME ,
        STAFF.FPOSTID ,
        STAFF.FUSEORGID
FROM    T_BD_STAFF STAFF
        INNER JOIN V_BD_CONTACTOBJECT CONTACT ON STAFF.FPERSONID = CONTACT.fid
                                                 AND CONTACT.FDOCUMENTSTATUS = 'C'
                                          

二开案例.工作流.参与人类型.参与人变量

【应用场景】设计时:设置参与人变量,可选变量有单据字段,流程信息等。运行时:基于设置的参与人变量,基于当前上下文,解析出真实用户。...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信