История страницы
...
Действие выполняет поиск элементов и возвращает все найденные элементы, подходящие под указанные условия. В случае отсутствия в очереди подходящих элементов, действие ожидает их появления в течение времени, указанного в поле «Тайм-аут, мс».
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
Группа | Название существующей группы очередей, содержащей очередь, в которой будет производится поиск элементов. | 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 | Нет |
Количество элементов | Количество элементов, которые вернет действие. Указанное значение учитывается вместе со значением в поле «Правило для количества элементов». | Robin.Numeric | Да | |
Правило для количества элементов | Правило, которое указывает, как интерпретировать значение из поля «Количество элементов». Если выбрано значение «Все», действие игнорирует значение из поля «Количество элементов» и возвращает все найденные элементы. | Robin.String | Да | |
Тайм-аут, мс | Время ожидания появления нужных элементов в очереди, а также снятия с них блокировки на запись. Если указано "-1", действие будет ждать бесконечно долго. Действие вернет ошибку, если статус элемента изменят на "Обработан" или "Ошибка". Задается в миллисекундах. | Robin.Numeric | Нет | |
Результаты | ||||
Коллекция словарей | Коллекция, в которой каждый элемент - это словарь, содержащий данные об одном элементе очереди: значение (ключ Value), ID (ключ Id), теги (ключ Tags), приоритет (ключ Priority), дата создания (ключ CreationDate) и дата обновления (ключ UpdateDate). | Robin.Collection |
...
Особые условия использования
Отсутствуют
Пример использования
Задача: существует процесс, где имеется очередь с элементами (заявками), необходимо получить коллекцию данных элементов со статусом "Новый" для дальнейшей выгрузки в отчет и проведения аналитики по обработке заявок.
Решение: воспользоваться действием "Получить коллекцию элементов".
Реализация:
- Перетащить на рабочую область действие "Получить коллекцию элементов" и заполнить его параметры:
поле "Группа" заполнить значением "group1";
поле "Очередь" заполнить значением "Test1";
поле "Статус" заполнить значение "Новый";
поле "Правило для количества элементов" заполнить значением "Все". - Создать переменную "Коллекция" и указать ее в поле "Коллекция словарей".
- Для получения значений полученных элементов коллекции (если это необходимо) можно воспользоваться действием "Получить значение по индексу". Например: элемент по индексу =2. Значение этого элемента это словарь. Затем, необходимо по ключу обратиться к конкретной записи этого словаря. Например, если мы хотим получить именно значение данного элемента, то необходимо обратиться по ключу value. (Действие "Получить значение").
- Запустить робота по кнопке "Старт" в верхней панели.
- Если необходимо получить коллекцию элементов с определенными тегами, то необходимо заполнить поле "Теги", указав названия тегов элементов. (Например, получение заявок, содержащих определенные теги)
- Если необходимо получить коллекцию элементов с определенными приоритетами (например, получение заявок с приоритетами с 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 можно будет "увидеть элемент", но робот зависнет на элементе в ожидании снятия блокировки (в зависимости от выставленного тайм-аута).
- только на запись - когда элемент заблокирован на запись (роботом или пользователем), другой робот не может изменить его значения.
- и на чтение, и на запись - соблюдаются одновременно два условия, описанных выше, то есть робот не сможет ни изменить элемент, ни прочитать его.
Результат:
Программный робот отработал успешно. Получена коллекция с тремя записями (элементами). Для получения значений полученных элементов коллекции можно воспользоваться действием "Получить значение по индексу" и "Получить значение".