Изменить статус в очереди
Eng: Change queue item state
Компонент позволяет изменить статус элемента в очереди обмена данных Оркестратора. Выбранный статус будет обозначать результат обработки элемента роботом. Например, присвоение статуса Success будет означать, что обработка элемента прошла успешно.
Предварительные условия
- Подключение к Оркестратору.
- Элемент, статус которого вы хотите изменить, должен быть в состоянии InProgress – извлечен из очереди.
Жизненный цикл элемента очереди
Статусы элемента:
- New – элемент добавлен в очередь, но еще не извлечен ни одним роботом.
- InProgress – робот извлек элемент из очереди (=занял). Другой робот не сможет обратиться к этому элементу.
- Success – обработка элемента завершена успешно, ошибок не обнаружено.
- Error – обработка элемента завершена с ошибкой общего вида. Например, робот не смог нажать определенную кнопку.
- Business Error – обработка элемента завершена с ошибкой в бизнес-логике.
В истории статусов в БД фиксируются только финальные статусы – Success, Error, Business Error. Статусы New и InProgress являются логическими и вычисляются системой по косвенным признакам.
Как перевести элемент в InProgress
Изменить статус элемента возможно, только если элемент уже находится в статусе InProgress (извлечен роботом из очереди). Если элемент находится в статусе New, изменить его состояние не получится.
Чтобы извлечь элемент из очереди, используйте один из следующих компонентов:
- Получить из очереди – извлекает элемент по FIFO.
- Получить из очереди по ID – требуется установить чекбокс Занимать, иначе элемент останется в статусе New.
- Получить из очереди по фильтру – требуется установить чекбокс Занимать, иначе элемент останется в статусе New.
Свойства
Обязательные для заполнения свойства отмечены символом *
. Описание общих свойств см. в разделе Свойства элемента.
-
ID* [Guid ] – автоматический идентификатор элемента очереди, указывается в виде переменной. Идентификатор можно получить при чтении элемента и затем сохранить в переменную.
-
Очередь* [String] – название очереди Оркестратора, в которой находится элемент. Значение чувствительно к регистру. Пример:
"Queue_name"
. -
Статус – состояние обработки элемента. Выберите нужное значение в выпадающем списке:
Success
/Error
/Business Error
. -
Таймаут [Int32] – лимит времени операции в миллисекундах. Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. По умолчанию установлено
3000
(30 секунд). -
Текст [String] – комментарий RPA-разработчика к изменению статуса. Пример:
"Дополнительная информация от RPA-разработчика"
.
Только код
Пример использования элемента в процессе с типом Только код (Pure code):
C#
LTools.Enterprise.OrchestratorApp.ChangeQueueItemState(wf,
"queue", id, LTools.Enums.ExchangeQueueValueEventType.Success, "txt");