UIPath执行工作流程列表

时间:2019-01-08 20:52:18

标签: uipath

我在UIPath中有几个工作流程。我想要做的是:对于给定的流程图,我想以“随机”顺序执行这些工作流-但也不要两次执行相同的工作流。

例如,假设我有3个工作流程。我将它们全部放在同一流程图中。

当我单击“运行”时,我希望UIPath决定首先运行哪个,但在运行后,我希望它决定工作流2和工作流3之间的关系-而不是再次运行工作流1。

从逻辑上讲,我不知道该怎么做。我是UIPath的新手,所以我对变量没有太多的经验,但是我认为一种方法可能是为每个工作流程创建一个布尔变量,然后在每个工作流程运行后,将变量切换为该工作流程。但是,我不知道该怎么做...

我可以想到的另一种方法是使用一个Switch(或多个Switch),并使用new Random().Next(1,3)将表达式设置为1到3之间的随机数-但是我仍然有一个问题,那就是它可能会运行工作流程1两次。有没有办法告诉Switch活动以随机顺序执行所有Case?

1 个答案:

答案 0 :(得分:0)

这是一种可能的方法。确保将每个工作流程都移动到其自己的文件中。用所有文件名创建一个集合。随机排列列表,对其进行迭代,然后调用工作流文件。

我的示例使用Integers,但您也可以使用Strings。请注意,我在Invoke Code活动中初始化了列表,但是您可以在任意位置进行操作,并将列表作为In参数传递。

这是调用代码活动中使用的代码,摘自here

Dim r As Random = New Random()
Dim list As New List(Of Int32)(New Int32() {1, 2, 3})
out_List = list.OrderBy(Function(a) r.Next()).ToList()

此方法的一个好处是添加或删除工作流文件仅需要更改列表,而无需更改主要工作流本身。

Random Workflow Invoke