Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Получить элемент по условию Версия 6 (Java)

Группа действий: Оркестратор 


Описание

Действие выполняет поиск элементов и возвращает первый элемент, подходящего под указанные условия.

В случае отсутствия в очереди подходящих элементов, действие ожидает их появления в течение времени, указанного в поле «Тайм-аут, мс».

Иконка

Настройки


Свойство

Описание

Тип

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

Обязательность заполнения поля

Параметры

Группа

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

Robin.String


Да

Очередь

Название существующей очереди, в которой будет производиться поиск элемента.

Robin.String


Да

Теги

Коллекция строк, в которой каждый элемент - это отдельный тег элемента очереди. Действие будет искать среди тех элементов, у которых есть хотя бы один из перечисленных тегов.

Robin.Collection


Нет

Статус

Статус, который должен иметь искомый элемент.


Поле с выпадающим списком значений:

  • Новый или В работе
  • Новый
  • В работе
Robin.String
Да

Min. приоритет

Минимальное значение диапазона поиска элементов по приоритету. Если в поле «Max. приоритет» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.Numeric


Нет

Max. приоритет

Максимальное значение диапазона поиска элементов по приоритету. Если в поле «Min. приоритет» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.Numeric


Нет

Min. дата и время создания

Минимальное значение диапазона поиска элементов по дате и времени его создания. Если в поле «Max. дата и время создания» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.DateTime


Нет

Max. дата и время создания

Максимальное значение диапазона поиска элементов по дате и времени его создания. Если в поле «Min. дата и время создания» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.DateTime


Нет

Min. дата и время обновления

Минимальное значение диапазона поиска элементов по дате и времени его обновления. Если в поле «Max. дата и время обновления» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.DateTime


Нет

Max. дата и время обновления

Максимальное значение диапазона поиска элементов по дате и времени его обновления. Если в поле «Min. дата и время обновления» указано такое же значение, поиск будет производиться только среди элементов, имеющих указанное значение.

Robin.DateTime


Нет

Тип сортировки

Тип сортировки найденных элементов для выбора одного из них. Сначала будут найдены все подходящие элементы, а затем отсортированы; действие вернет первый элемент из отсортированного списка.

Robin.String


Нет

Заблокировать на чтение

Если значение равно «true», действие заблокирует найденный элемент на чтение для других роботов, а также скроет его в очереди. Скрытый элемент не будет найден другими роботами при поиске по условию.

Robin.Boolean

true

Нет

Заблокировать на обновление

Если значение равно «true», действие заблокирует найденный элемент на обновление для других роботов. Если элемент уже заблокирован на обновление другим роботом и не был разблокирован за время тайм-аута, действие вернет ошибку.

Robin.Boolean

true

Нет

Завершить обработку элемента

Если значение равно "true", действие получит содержимое элемента и изменит его статус на "Обработан". В новом статусе элемент станет недоступен для роботов даже по его ID.

Robin.Boolean

true

Нет

Тайм-аут, мс

Время ожидания появления нужного элемента в очереди, а также снятия с элемента блокировки запись. Если указано "-1", действие будет ждать бесконечно долго. Действие вернет ошибку, если статус элемента изменят на "Обработан" или "Ошибка". Задается в миллисекундах.

Robin.Numeric


Нет

Результаты

Теги

Коллекция строк, в которой каждый элемент - это отдельный тег элемента очереди.

Robin.Collection



Приоритет

Приоритет элемента среди других элементов очереди.

Robin.Numeric



Дата и время создания

Дата и время, когда элемент был добавлен в очередь.

Robin.DateTime



Дата и время обновления

Дата и время, когда элемент был обновлен.

Robin.DateTime



Значение

Значение найденного элемента очереди.

Robin.Object



ID элемента

Уникальный идентификатор элемента очереди.

Robin.String



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

Отсутствуют 

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


Задача: существует процесс по обработке заявок на оплату и в очереди Test1 имеются элементы (заявки). .

Необходимо найти элемент (заявку) с приоритетом в интервале от 110 до 112, со статусом "Новый"  ( вернуть первый элемент подходящий под данные условия). Так же применить параметры: тип сортировки- по уменьшению даты создания , заблокировать элемент на чтение и запись для того, чтобы данная заявка была не доступна для чтения и редактирования. 

Решение: воспользоваться действием "Получить элемент по условию". 

Реализация: 

  1. Перетащить действие "Получить элемент по условию" и настроить его параметры: 


    • поле "Группа" заполнить значением "group1"
    • поле "Очередь" заполнить значением "Test1"
      поле "Статус" заполнить значением "Новый"
    • поле "Min. приоритет" заполнить значением "110"
    • поле "Max приоритет" заполнить значением "112"
    • поле "Тип сортировки" заполнить значением "По уменьшению даты создания"
    • проставить чек-боксы = true в полях "Заблокировать на чтение", "Заблокировать на обновление"



2.  При необходимости записи результатов действия в переменные заполнить соответствующие поля в разделе "Результат". 

3. Запустить робота по кнопке "Старт" в верхней панели. 

    • Если необходимо получить элементы с определенными тегами, то необходимо заполнить поле "Теги", указав названия тегов элементов. (Например, получение заявки, содержащую определенные теги) 
    • Если необходимо получить элементы с определенным приоритетом (например, получение заявок с приоритетом от 1 до 3), то следует заполнить поля "Min. приоритет" и "Max. приоритет" указав значения 3 и 1 соответственно
    • Если необходимо получить элементы с группировкой по дате создания (например, с 12.08.2022 4:00 по 14.08.2022 4:00) необходимо указать даты и время в соответствующих полях: "Min.дата и время создания", "Max. дата и время создания" (например, получение заявок, созданных в определенном интервале времени)
    • Если необходимо получить коллекцию элементов с группировкой по дате обновления (например, 15.08.2022 5:00 по 17.08.2022 5:00) необходимо указать даты и время в соответствующих полях: "Min.дата и время обновления", "Max. дата и время обновления" (например, получение заявок, обновленных в определенном интервале времени)
    • Если необходимо отсортированные элементы (например, по увеличению приоритета заявок), то необходимо заполнить параметр "Сортировка". Сначала будут найдены все подходящие элементы, а затем отсортированы; действие вернет первый элемент из отсортированного списка
    • Если необходимо завершить обработку элемента (например, требуется перевести заявку в статус "Обработан" и сделать ее недоступной для роботов), то следует установить чек-бокс "Завершить обработку элемента" = true
    • Если необходимо заблокировать элемент на обновление и/или чтение (например, есть заявка, которая должна быть заблокирована на обновление и/или чтение, т.е. робот в дальнейшем не сможет ее видеть или/и редактировать), то следует установить чек-бокс в полях: "Заблокировать на чтение"/"Заблокировать на обновление"

Элемент очереди может быть заблокирован роботом (на чтение и\или запись)

    • только на чтение - когда элемент заблокирован на чтение, по умолчанию также происходит его скрытие в очереди (скрытие для поиска), т.е. его нельзя будет получить действиями с поиском по условию; действием получения по ID можно будет "увидеть элемент", но робот зависнет на элементе в ожидании снятия блокировки (в зависимости от выставленного тайм-аута)
    • только на запись - когда элемент заблокирован на запись (роботом или пользователем), другой робот не может изменить его значения
    • и на чтение, и на запись - соблюдаются одновременно два условия, описанных выше, то есть робот не сможет ни изменить элемент, ни прочитать его

Результат:

Программный робот отработал успешно. 

Данный элемент заблокирован на чтение и запись. 


  • Нет меток