[TOC]
一、简述
很多流程是有人值守类型的,这些流程可能会在运行中途停下来,由人工干预来完成一部分工作。在继续执行任务之前,用户需要在完成自己的任务之后,来触发任务的继续执行。如下图:
image这种模式,在有提供Orchestrator的情况下,可以变得方便很多,流程开发人员不需要在流程中过多的进行逻辑设计,只需要UiPath.Persistence.Activities这个包中的组件即可实现。
二、实现
1. 创建工程
使用UiPath Studio提供的Orchestrator Process模板创建项目工程。使用此模板创建的工程,会自动添加UiPath.FormActivityLibrary和UiPath.Persistence.Activities两个依赖。
image若未使用此模板,可以直接添加UiPath.FormActivityLibrary和UiPath.Persistence.Activities两个包
image
2. 创建&提交人工交互表单
这个表单是在Orchestrator中创建一个表单任务。比如需要用户输入用户名、密码等信息,都可以通过此自定义表单进行输入。
在这个Activity中,有如下几个属性:
FormData:Dictionary<String,Argument>类型。将表单中的字段与值形成映射。如,在Orchestrator中的任务完成之后,它会将用户在表单中输入的值与字段进行映射,添加到字典中,如dictionary<"userName","xingxing">。
TaskCatalog:字符串类型。任务项的可选业务分类。
TaskPriority:下拉菜单。可以选择任务的优先级。默认情况下,此属性设置为Medium(中)。可以使用以下选项:Low,Medium,High,Critical。
TaskTitle:字符串类型。创建的任务的标题,该标题会显示在Task列表中。
TaskObject:输出值 - FormTaskData创建任务后从Orchestrator返回的任务对象。可以将此对象传递给“ 等待表单任务和继续”活动,以中止工作流的执行,直到任务完成。
image设计交互表单
点击Open Form Designer,打开表单设计界面,界面中包含了很多表单设计元素,如输入框、密码框、复选框、下拉列表等。
如下图,我们在表单中添加了用户名和密码两个输入框。点击保存之后退出。
3. 接收表单&恢复流程
使用Wait for Form Task and Resume Activity接收OC表单返回的数据,并恢复后续流程。
image4. 表单结果处理
在从上一个Activity接收到输出结果taskOutput,这个结果是一个UiPath.Persistence.Activities.FormTask.FormTaskData类型的值,如果需要获取表单中的数据,则需要使用taskOutput.Data进行获取,之后再使用json进行解析即可。如下代码:
"解析结果=====> "+vbLf+
"用户名:"+JObject.Parse( taskOutput.Data.ToString).SelectToken("userName").ToString+vbLf+
"密码: "+JObject.Parse( taskOutput.Data.ToString).SelectToken("password").ToString
三、测试
如下视频
四、总结与代码获取
通过这篇文章,简答介绍了如何使用Orchestrator来实现人与机器人之间的交互问题。通过这种模式,可以有效提升我们的工作效率和流程效率。
演示代码已上传至知识星球,链接如下:
附. 关于RPA知识星球
之前有很多文章和心得发布在"小专栏"中,但是最近由于各种原因,后续不准备再发一些文章上去,全部迁移至知识星球。知识星球中内容全部由我运营,会定期输出与RPA相关内容,包括但不限于:
- RPA实施方法论
- RPA实施技术架构
- RPA应用场景分析理解
- RPA实施中填坑之路......
为什么要收费:
- 建立门槛,过滤掉观光客;
- 逼自己尽可能多地思考和输出内容;
- 通过输出内容,和一帮志趣相投的朋友们一起,激发出更多好玩的机会;
- 利用知识星球连接铁杆粉丝,做出高品质社群
网友评论