Я хочу проверить, является ли элемент данных пустым или нет. Я сохраняю некоторые значения из буфера обмена в элемент данных и хочу проверить, является ли элемент данных пустым или содержит некоторый текст.
Как проверить, пуст ли элемент данных в Blueprism
Ответы (5)
Это то, что у меня есть на этапе принятия решения, чтобы проверить, есть ли у меня разные предметы одновременно. QueueData — это коллекция, которую я извлекаю из очереди. Вот скриншот того, что у меня есть в свойствах решения. До сих пор у меня это работало:
Что я сделал, так это определил длину:
(Len([Cost Centre])>0) AND
(Len([Quantity])>0) AND
(Len([Product Code])>0) AND
(Len([Unit Price])>0)
Например, на этапе принятия решения вы выполняете [Элемент]‹>"". ‹> — это символ, который означает «не равно» на «языке» blueprism, поэтому в основном здесь вы сравниваете элемент с пустой строкой.
На самом деле мне удалось решить эту проблему, это может быть немного хаком, но, поскольку я не смог найти подходящего выражения для «нулевого значения», и, как указано в некоторых ответах здесь, просто ‹> 0 не сокращает горчица, поскольку вы в конечном итоге «не можете выполнить операцию ‹>, когда правое значение пусто».
Что я сделал, так это создал четыре элемента данных для каждого поля, которое вам нужно проверить: код продукта, цена за единицу, количество и центр затрат, я установил начальные значения как «0» для каждого из них.
Затем, после действия «получить следующий элемент», выполните множественный расчет и установите эти значения со значениями из элементов очереди. Теперь, если будет пустой элемент, он не изменит значение, а оставит его равным нулю, так что есть что-то, с чем вы можете свериться. Затем в конце этого цикла вам нужно не забыть снова выполнить множественный расчет, где вы устанавливаете эти значения как нули.
Что касается проверки исключений, я использовал «Выбор», поэтому я мог использовать более подробные причины исключений (т.е. какое поле было фактически пустым), и поскольку процесс заканчивается в двух разных направлениях (исключение / Разместить заказ) , вам нужно сделать еще один множественный расчет, установив значения как нули на другом маршруте.
Я использовал IsNumber([Data.Quantity])=False
. Поскольку формат поля — числовой, сравнение его с пустым текстом ("") не дает правильных результатов в Blue Prism. Функция IsNumber()
проверяет, является ли значение числом. Если поле пусто, оно дает false.