Цикл
Используйте действие Цикл, чтобы повторять выполнение действия или набора действий заданное количество раз или до выполнения указанного условия.
Выполните следующие шаги, чтобы использовать действие Цикл в рабочем процессе:
Часть A. Настройка действия "Цикл"
1. Щелкните и перетащите действие Цикл из раздела Цикл на канву. Блок Цикл отображается на канве.
2. Наведите указатель на действие и щелкните значок или дважды щелкните действие. Откроется окно "Цикл".
3. При необходимости измените поле Метка. По умолчанию наименование метки совпадает с наименованием действия.
4. В списке Выберите тип цикла выберите одну из следующих опций и выполните соответствующее задание:
Выберите тип цикла
Задание
Раз - повторяет задание или несколько заданий заданное число раз.
Рекомендуется выбрать эту опцию, если рабочий процесс в действии Цикл не требует входные данные из предыдущего действия.
Здесь доступен пример цикла Раз.
В поле Количество раз укажите, сколько раз должен выполняться цикл.
Каждый элемент - повторяет задание или несколько заданий для каждого элемента в массиве или наборе.
Здесь приведен пример цикла Каждый элемент.
В поле Исходный массив или объект сопоставьте выходные данные предыдущего действия, чтобы предоставить массив или объект.
Пока - повторяет задание или несколько заданий до тех пор, пока не будет выполнено указанное условие.
Здесь доступен пример цикла Пока.
a. В поле Начальное значение укажите начальное значение для цикла. Это может быть число, логическое значение, строка или JSON.
Это значение задает значение $currentItem. Это значение используется только один раз перед началом цикла.
b. В поле Условие укажите условие. Если требуется использовать элемент из поля Начальное значение, используйте $currentItem во встроенном выражении. Пример: {{$currentItem}} < 5.
Это условие вычисляется каждый раз перед выполнением цикла. Если результат вычисления этого условия равен true, выполнение цикла продолжается; в противном случае цикл прекращается. Если задать для Условия значение 0, false (без учета регистра) или если оставить его пустым, вычисленное значение ЛОЖЬ прерывает выполнение цикла.
* 
Если условие истинно бесконечно, цикл выполняется до тайм-аута рабочего процесса. Тайм-аут рабочего процесса по умолчанию составляет 3 минуты.
c. В поле Обновленное значение укажите обновленное значение. Это может быть число, логическое значение, строка или JSON.
Это значение обновляет значение $currentItem. Это выражение вычисляется один раз после каждого прохождения цикла.
* 
Для поля Обновленное значение можно использовать выходные данные всех действий в цикле. Однако поскольку выходные данные действий в цикле не показаны, необходимо вручную сопоставить выходные данные, сославшись на индекс действия.
Для опций Начальное значение и Условие, если используются выходные данные любого действия внутри цикла, Условие рассчитывается как Не определено и Цикл завершается с ошибкой.
5. Нажмите кнопку Готово.
6. Кроме того, можно навести указатель на блок Цикл, чтобы выполнить следующие задания:
Щелкните значок , чтобы развернуть или свернуть блок Цикл.
Щелкните значок , чтобы удалить блок Цикл с канвы.
Часть B. Добавление действий за пределами блока "Цикл"
1. С правой стороны редактора рабочего процесса на панели Действия перетащите действия на канву вне блока Цикл.
Можно иметь одно или несколько действий до и после блока Цикл.
2. Соедините действие, предшествующее блоку Цикл, с .
3. Соедините действие, которое следует за блоком Цикл, с .
4. Настройте действия соответственно своим требованиям.
Часть C. Добавление действий в блок "Цикл"
1. На правой стороне редактора рабочего процесса перетащите действие Цикл с панели Действия. Блок Цикл подсвечивается, когда действие находится в блоке Цикл. После перетаскивания действия в блок Цикл и при первом выполнении действия в блоке действие автоматически соединяется с .
В блок Цикл можно добавить одно действие или несколько действий.
После перетаскивания действия на канву вне блока Цикл его невозможно перетащить в блок Цикл.
2. Добавьте несколько действий в блок Цикл и соедините их одно за другим. Если требуется, можно использовать только одно действие внутри блока Цикл.
3. Соедините последнее действие в блоке Цикл с .
4. Сконфигурируйте действия в блоке Цикл согласно своим требованиям.
Выполнение
Когда рабочий процесс выполняется, он запускается с первого действия в рабочем процессе, затем последовательно выполняются все действия в блоке цикла определенное число раз или до выполнения условия, а затем процесс переходит к следующим действиям.
Схема вывода
Для цикла Раз:
currentIndex - индекс или позиция текущей итерации, начиная с 1.
currentIndex - индекс или позиция текущей итерации, начиная с 0.
currentItem, currentValue - текущее значение итерации.
totalLength - количество итераций цикла.
Для цикла Каждый элемент:
currentIndex - индекс или позиция текущей итерации, начиная с 0.
currentItem - если источником является объект, свойство возвращает значение, соответствующее currentIndex. currentItem - если источником является массив, это свойство возвращает текущий объект для каждой итерации.
currentKey - если источником является объект, это свойство возвращает ключи объекта. Если источником является массив, возвращается индекс каждого элемента.
currentValue - если источником является объект, это свойство возвращает значения объекта. Если источником является массив, возвращаются все элементы массива, включая объекты, если они есть. Чтобы загрузить значение конкретного ключа или свойства, укажите параметр {{$actionID.currentValue.<имя_свойства>}}
totalLength - общее число всех объектов в массиве объектов или общее число всех элементов в массиве.
Цикл Пока:
currentIndex, currentKey - индекс или позиция текущей итерации, начиная с 0.
currentItem, currentValue - возвращает текущее значение итерации.
totalLength - не определено.
Было ли это полезно?