U8C服务小锦囊--报销管理--流程审批人——u8c实施与服务支持部刘芸一、应用场景主要为解决类似项目负责人、部门负责人等与单据中字段关联性较强,且无法直接确定由某个人或某一角色来审批的情况。在审批流中配置虚拟审批人,根据单据中字段,写公式找到审批人,再由审批人审批报销单据。1.整体思路通过设置【审批流定义】中的审批人函数实现来具体步骤2.具体步骤路径【企业建模平台】-【流程平台】-【审批流定义】在对应的报销单上增加一条审批流审批流环节,参与者角色选择“流程审批人”更新属性编辑器中的“审批人函数”信息,以项目负责人为例公式:pk_psndoc->getColValue(bd_jobmngfil,pk_psndoc,pk_jobbasfil,jobid)脚本理解如下:selectpk_psndoc(负责人)frombd_jobmngfilwherepk_jobbasfil=jobidgetColValue(tablename,fieldname,pkfield,pkvalue)根据主键从数据库查询特定字段的值,其功能类似SQL语句:selectfieldnamefromtablenamewherepkfield=pkvalue从这条SQL语句可以看出各个参数的含义备注:在【单据项目管理】处,可以了解单据上有哪些字段,以及对应字段引用的档案信息二、注意事项(或常见问题)a)公式需要用getColValue且暂时只支持单人b)如果有多条公式,中间需用分号(;)隔开。例如上级部门负责人公式:a->getColValue(bd_psndoc,pk_deptdoc,pk_psndoc,jkbxr);b->getColvalue(bd_deptdoc,pk_fathedept,pk_deptdoc,a);pk_psndoc->getColValue(bd_deptdoc,pk_psndoc,pk_deptdoc,b)c)公式中只需定位到该人员的pk_psndoc。d)获取部门末级负责人的公式如下:pk_deptdoc->getColValue(bd_psndoc,pk_deptdoc,pk_psndoc,jkbxr);pk_psndoc->getColValue(bd_deptdoc,pk_psndoc,pk_deptdoc,pk_deptdoc)e)若单据的审批流起点人为录入人的话,项目可能需要按照录入人所在部门的部门负责人进行审批,则审批流定义中的审批人函数如下:pk_deptdoc->getColValue(bd_psndoc,pk_deptdoc,pk_psnbasdoc,getColValue(sm_userandclerk,pk_psndoc,userid,lrr));pk_psndoc->getColValue(bd_deptdoc,pk_psndoc,pk_deptdoc,pk_deptdoc)备注:表sm_userandclerk中的PK_PSNDOC对应的是人员基本档案主键信息。i)取单据录入人本人的话pk_psndoc->getcolvalue2(bd_psndoc,pk_psndoc,pk_psnbasdoc,getcolvalue(sm_userandclerk,pk_psndoc,userid,lrr),pk_corp,pk_corp)这个公式是以报销单为例,其他单据请自行改写公式f)取单据借款报销人的pk_psndoc->jkbxr三、联系方式未尽事宜可邮件联系liuyunx@yonyou.com