Как проверить, пуст ли элемент данных в Blueprism

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


person Vivek    schedule 16.11.2017    source источник
comment
Забыл упомянуть, я хочу реализовать этап принятия решения, который может проверить, содержит ли элемент данных некоторый текст или он пуст, и действовать соответствующим образом.   -  person Vivek    schedule 17.11.2017


Ответы (5)


Это то, что у меня есть на этапе принятия решения, чтобы проверить, есть ли у меня разные предметы одновременно. QueueData — это коллекция, которую я извлекаю из очереди. Вот скриншот того, что у меня есть в свойствах решения. До сих пор у меня это работало: Проверить, существуют ли элементы

person AntsaR    schedule 20.11.2017

Что я сделал, так это определил длину:

(Len([Cost Centre])>0) AND
(Len([Quantity])>0) AND
(Len([Product Code])>0) AND
(Len([Unit Price])>0)
person Blitzoff    schedule 08.12.2017

Например, на этапе принятия решения вы выполняете [Элемент]‹>"". ‹> — это символ, который означает «не равно» на «языке» blueprism, поэтому в основном здесь вы сравниваете элемент с пустой строкой.

person AntsaR    schedule 16.11.2017
comment
Ошибка: Невозможно выполнить = операцию, когда правое значение пусто - person Andrzej Kaczor; 17.11.2017
comment
Я пробовал то же самое. Выполнение [Item]‹› Мне не помогло. - person Vivek; 17.11.2017
comment
можешь добавить скриншот? какое сообщение об ошибке? - person AntsaR; 17.11.2017
comment
Сообщения об ошибке не было, но даже когда элемент данных был пуст, он вел себя так, как будто элемент данных содержал какой-то текст. Я реализовал этап принятия решения, который проверял, является ли элемент данных пустым или имеет какой-либо текст, и соответственно разветвлялся, но этап принятия решения всегда шел одним и тем же путем, независимо от того, что было в элементе данных. - person Vivek; 20.11.2017
comment
Я добавил отдельный ответ, потому что хотел опубликовать снимок экрана со свойствами этапа принятия решения. Очевидно, что после этапа принятия решения у вас должно быть 2 пути: путь «Да», который будет выполнен, если этап принятия решения возвращает значение «истина», и путь «Нет», если он возвращает значение «ложь». - person AntsaR; 20.11.2017

На самом деле мне удалось решить эту проблему, это может быть немного хаком, но, поскольку я не смог найти подходящего выражения для «нулевого значения», и, как указано в некоторых ответах здесь, просто ‹> 0 не сокращает горчица, поскольку вы в конечном итоге «не можете выполнить операцию ‹>, когда правое значение пусто».

Что я сделал, так это создал четыре элемента данных для каждого поля, которое вам нужно проверить: код продукта, цена за единицу, количество и центр затрат, я установил начальные значения как «0» для каждого из них.

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

Что касается проверки исключений, я использовал «Выбор», поэтому я мог использовать более подробные причины исключений (т.е. какое поле было фактически пустым), и поскольку процесс заканчивается в двух разных направлениях (исключение / Разместить заказ) , вам нужно сделать еще один множественный расчет, установив значения как нули на другом маршруте.

person Practitioner    schedule 24.01.2018

Я использовал IsNumber([Data.Quantity])=False. Поскольку формат поля — числовой, сравнение его с пустым текстом ("") не дает правильных результатов в Blue Prism. Функция IsNumber() проверяет, является ли значение числом. Если поле пусто, оно дает false.

person user10141049    schedule 26.07.2018