本教程主要介绍在OA审批场景下如何接入连接平台子流程。
教程说明
本教程通过在OA审批场景下接入,实现OA审批表单中选择员工姓名后,自动填充需要的员工职级信息。
说明
本教程接入的子流程中配置的执行动作为官方连接器下的执行动作,如子流程需配置自建连接器下的执行动作,详情请参考创建自建连接器、配置自建连接器和创建子流程。
OA审批接入子流程的作用:
当前OA审批场景下不支持对执行动作出参进行重新定义,可以在连接平台侧通过子流程的方式对执行动作出参进行重新定义,OA审批场景下直接引用子流程即可。
多个执行动作聚合后的能力更加易用,例如先查询OA审批表单详情,再更新,两个动作合并后,通过子流程的方式被业务流集成,更简单。
前提条件
在开始本教程前,确保你已经完成了以下准备工作:
已经完成了钉钉开发者的注册与激活并拥有了子管理员和开发者权限。若尚未完成,请参考成为钉钉开发者。
已开通钉钉专业版(OA审批中使用连接器必备)。若尚未完成,请参考钉钉专业版。
创建一个企业H5微应用并获取应用的AgentId,如何创建可参考创建企业内部应用H5微应用。
审批场景
场景痛点
OA审批场景下不支持编排和表达式,无法对官方或三方连接器的返回结果进行改造,使得返回结果含职级以外的符号[" "],不是所需要的职级内容信息。
例如:获取智能人事员工花名册中岗位职级信息,返回结果是["P7"],可参考最佳实践获取员工花名册信息并填充到OA表单。
解决方案
在连接平台通过子流程方式,对官方或三方连接器的执行动作出参进行改造,OA审批场景下直接引用发布后的子流程,解决智能人事中获取花名册单字段返回值含[" "] 问题,使得显示结果仅展示所需职级内容信息。
例如:获取智能人事员工花名册中岗位职级信息,返回结果是P7。
子流程实例
创建子流程
说明
子流程如何创建及调试,详情请参考创建子流程。
配置子流程入参
设置子流程入参,添加查询花名册信息所需要的agentId和userId参数。
配置子流程执行动作
在右侧依次选择官方 > 智能人事 > 获取员工花名册字段信息,并单击设置按钮。
在入参映射设置界面中,将上文节点出参参数映射给本节点入参参数,单击确定并保存。
需要获取的花名册字段信息:选择固定值,并设置为sys01-positionLevel,更多字段信息,请参考花名册自定义字段业务code。
配置子流程出参
设置子流程出参,添加level出参参数。
说明
官方智能人事连接器,字段值列表格式为Array<Object>,具体字段取值为String,因此字段值展示为["XXX"],此处对出参参数进行改造,设置为String类型。
在出参映射设置界面本节点入参下,选择表达式。
在公式编辑界面,根据需求自定义表达式内容。
说明
获取数组第一个元素,表达式如何使用,请参考表达式。
OA审批实例
创建OA审批表单
登录钉钉管理后台,依次选择工作台 > 应用管理 ,然后单击OA审批。
单击创建新表单,然后选择流程表单。
在基础设置界面,填写基本信息包括表单名称和所在分组。
设置触发事件
在表单设计界面,设计并添加OA审批表单控件后,依次选择连接器 > 配置连接器。
员工姓名:选择联系人增强控件。
员工职级:选择单行输入框基础控件。
在配置连接器模块的设置触发条件下,选择控件值发生变化时,绑定触发事件的控件并确定,单击下一步。
新建表单加载时:当打开表单时触发,可以通过接口自动给某些表单控件赋值。
控件值发生变化时:当表单中某些控件值发生变化后调用接口,自动给其他表单控件赋值。
表单提交(含发起人重新提交)时验证:当单击提交按钮时,通过接口对数据进行校验,如不通过则阻断用户发起审批。
绑定连接器
在配置连接器模块的选择连接器下,依次选择子流程(原集成流) > 查询员工花名册信息,然后单击下一步。
说明
此处的查询员工花名册信息为自定义集成流名称,创建的集成流都统一归到集成流分组中。
配置执行动作
设置员工id,选择下拉菜单,绑定员工姓名ID。
设置微应用在企业的agentId,依次选择设置 > 自定义,填写获取的H5微应用AgentId值。
说明
AgentId如何获取,详情请参考创建企业内部应用H5微应用。
设置获取的数据填充到以下控件,选择添加,将字段取值填充到员工职级,并单击保存。
单击发布按钮,发布成功,如下图所示:
实例效果
进入钉钉工作台,然后进入OA审批,找到创建OA审批表单实例中已创建的审批表单。
在发起审批界面,选择员工姓名后,会自动填充员工职级信息,如下图所示:
说明
如果选择员工姓名后无法自动获取员工职级字段值或字段为“null”,请确认以下内容:
进入钉钉管理后台,依次选择通讯录 > 智能人事 > 花名册,然后确认查询员工的岗位职级信息是否有值。
确认在OA审批实例的配置执行动作下,填写以下控件的值获取数据和获取的数据值填充到以下控件的配置是否正确。