UIPath Выполнить список рабочих процессов - PullRequest
0 голосов
/ 08 января 2019

У меня есть несколько рабочих процессов в UIPath. Я хочу сделать следующее: для данной потоковой диаграммы я хочу выполнить эти рабочие процессы в «случайном» порядке, но также не выполнять один и тот же рабочий процесс дважды.

Например, скажем, у меня есть 3 рабочих процесса. Я поместил их все в одну блок-схему.

Когда я нажимаю «Выполнить», я хочу, чтобы UIPath решал, какой из них запускать первым, но после того, как он запустится, я хочу, чтобы он выбирал между Workflow 2 и Workflow 3 - и больше не запускал Workflow 1.

Логически я не знаю, как это сделать. Я довольно новичок в UIPath, поэтому у меня нет большого опыта работы с переменными, но я думаю, что одним из подходов может быть создание логической переменной для каждого рабочего процесса, а затем после каждого запуска я переключаю переменную для этот рабочий процесс. Однако я не знаю, как это сделать ...

Альтернативный подход, который я могу придумать, - это использовать Switch (или несколько Switch) и установить выражение в случайное число от 1 до 3, используя new Random().Next(1,3) - но тогда у меня все еще есть проблема, что он может запускать Workflow 1 дважды. Есть ли способ сообщить активности Switch о выполнении всех дел в случайном порядке?

1 Ответ

0 голосов
/ 09 января 2019

Вот один из возможных подходов. Убедитесь, что каждый рабочий процесс перемещен в свой собственный файл. Создайте коллекцию со всеми именами файлов. Перемешайте список, переберите его, а затем вызовите файл рабочего процесса.

В моем примере используется Integers, но вы можете использовать Strings. Обратите внимание, что я инициализировал список в действии Invoke Code, но вы можете сделать это где угодно и передать список как In Аргумент.

Вот код, используемый в действии Invoke Code, взятый из здесь :

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

...