Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Цикл с постусловием

...

Версия 12 (Java)

Группа действий: Базовые действия 

...

Описание

Данное действие предназначено для создания цикла действий, который выполняется до тех пор, пока результат условия равен "True".  Для Для добавления условия используется используется инструмент построения выражений  в в параметре "Условие". Для добавление добавления в тело цикла последовательности действий необходимо переместить их на контур блока "Тело цикла".

Image Modified

...

Иконка действия

Image Added

Параметры и их настройки

Свойство
Англ. наименование
ОписаниеТипПример заполненияОбязательность заполнения поля
Параметры
Условие
Condition

Логическое выражение или переменная/значение логического типа, определяющее продолжение или прерывание цикла

.

Условие проверяется после выполнения тела цикла

.


Для задания логического выражения используется инструмент построителя выражений

.

!!

 Если

 Если пользователь удаляет из параметра значение, заданное инструментом построения выражений, блок "Условие" на флоу очищается

.

Robin.Boolean

Логический

True


Да
Условие
Condition

Последовательность действий в выражении в условии. Заполняется в случае, когда условие задается через построитель выражений

.

!!

 Данный

 Данный параметр не отображается в панели параметров, но отображается в блоке Условие на рабочей области (флоу)

.

!!

 Параметр

 Параметр заполняется/редактируется через инструмент построения выражений и только через него. Любое редактирование данного блока на флоу для пользователя заблокировано

.Robin.Internal.SequenceId

Идентификатор последовательности действий
Нет
Тело цикла
Loop body

Последовательности действий, которая должна выполняться на каждом шаге цикла. Заполняется добавлением действий в соответствующий блок в рабочую область

.

!!

 Данный

 Данный параметр не отображается в панели параметров, но отображается в блоке Тело цикла на рабочей области (флоу)

.Robin.Internal.SequenceId

Идентификатор последовательности действий
Да

Особые условия использования

Так как это логическое выражение оценивается после каждого выполнения цикла, цикл "Пока" выполняется один или несколько раз.

Порядок работы с "Циклом с постусловием"

1.Выбрать действие "Цикл с постусловием" из группы действий "Базовые действия" и перенести в сценарий.
Image Added
2. Заполнить тело цикла необходимыми действиями.
Пример заполнения.
Image Added
3. Заполнить параметры действия "Условие"
Пример заполнения.
Image Added
Если условие заполняется посредством инструмента построения выражений, то оно отобразиться в разделе "Условие" внутри цикла.
Пример цикла с постусловием, где условие заполнено с помощью инструмента построения выражений.
Image Added

Сравнение циклов "Пока" и цикла с "Постусловием".

Оба цикла работают до тех пор, пока результат условия равен "True". Однако в цикле "Пока" проверка действия происходит перед началом выполнения цикла, т.е. цикл может отработать 0 раз и более.
Проверка условия в действии "Цикл с постусловием" происходит после выполнения действий в теле цикла, т.е. цикл отработает минимум один раз.

Пример использования

Кейс "Поиск файла". "Цикл с постусловием".

Задача

В папке есть несколько подпапок, где лежит необходимый нам файл. Нужно просмотреть подпапки и выяснить в какой из них сохранен этот файл.

Решение

1. Создать переменную "Счетчик", тип переменной – число.
2. Создать переменную "Значение", тип переменной – объект.
3. На рабочую область перенести действия "Получить содержимое папки" (группа действий "Файловая система"), "Цикл с постусловием" (группа действий "Базовые действия").
4. В тело цикла добавить действия "Получить значение по индексу" (группа действий "Коллекции"), "Конвертировать данные" (группа действий "Базовые действия"), "Найти файл" (группа действий "Файловая система") и "Сложение" (группа действий "Операторы").

Реализация

  1. Создать переменную "Счетчик", тип переменной – число.
    Image Added
  2. Создать переменную "Значение", тип переменной – объект.
    Image Added

  3. На рабочую область перенести действия "Получить содержимое папки" (группа действий "Файловая система"), "Цикл с постусловием" (группа действий "Базовые действия").

    Image Added
  4. Заполнить параметры действия "Получить содержимое папки".
    1. В параметр "Папка" указать путь до папки с подпапками.
    2. В параметре "Тип объектов" выбрать из выпадающего списка значение "Только папки".
      Image Added
  5. Заполнить параметры действия "Цикл с постусловием".
    1. В параметр условие с помощью инструмента построение выражений записать условие "Длина коллекции, полученной в результате действия "Найти файл" равно 0". Для этого создадим еще одну переменную "Доп. переменная", в которой будет записано число 0.
      Пример:
      Image Added

      Image Added
    2. В тело цикла добавить действия "Получить значение по индексу" (группа действий "Коллекции"), "Конвертировать данные" (группа действий "Базовые действия"), "Найти файл" (группа действий "Файловая система") и "Сложение" (группа действий "Операторы").
      Image Added
  6. Заполнить параметры действия "Получить значение по индексу".

    1. Параметр "Коллекция" - результат действия "Получить содержимое папки".
    2. Параметр "Индекс" - переменная "Счетчик".
    3. Параметр "Результат" - переменная "Значение".
      Image Added
  7. Заполнить параметры действия "Конвертировать данные".
    1. Параметр "Источник" - результат действия "Получить значение по индексу".
    2. Параметр "Тип" - путь к папке.
      Image Added
  8. Заполнить параметры действия "Найти файл".
    1. Параметр "Путь к папке" - результат действия "Конвертировать данные".
    2. Параметр "Имя файла" - название искомого файла.
      Image Added
  9. Заполнить параметры действия "Сложение".
    1. Первое слагаемое – переменная "Счетчик".
    2. Второе слагаемое – 1.
    3. Результат – переменная "Счетчик".
      Image Added
  10. Запустить робота по кнопке "Запуск" в верхней панели.

Результат

Алгоритм пройдет по циклу до тех пор, пока не будет найден искомый файл. Путь до папки с этим файлом будет сохранен в переменную "Значение".
Image Added