Сбросить дату или дату и время в Blue Prism

Я читаю очередь и использую этап «Действие», чтобы «получить данные элемента» из бизнес-объекта «Рабочая очередь». Цель моего процесса - подготовить отчет о состоянии элементов очереди. Действие «Получить данные элемента» ожидает одного ввода, который является идентификатором элемента очереди. Выделяется куча элементов вывода, таких как Key, Status, Completed DateTime, Exception DateTime ... и т. Д.

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

Проблема, с которой я столкнулся, заключается в том, что когда цикл переходит к следующему элементу в очереди, он не полностью сбрасывает элементы данных. Например, если первая запись в очереди находилась в состоянии завершения, элемент данных «Completed DateTime» заполняется этой датой и временем. Если следующая запись в очереди является исключением, она заполняет элемент данных «Exception DateTime», что хорошо, но не заменяет элемент данных «Complete DateTime» пустым значением. Он сохраняет дату из предыдущей записи.

В моем процессе я проверяю «Завершенное DateTime» и «Exception DateTime», чтобы определить статус записи и обновить свой отчет. Решение, о котором я подумал, - добавить этап Calculation для сброса элементов данных, но, похоже, не может сбросить элемент данных DateTime. Не любит пустые кавычки "". Любые предложения будут ценны!

К вашему сведению, один из элементов вывода называется «Статус», но он не содержит никакой информации. В противном случае это было бы очень просто.


person user10141049    schedule 27.07.2018    source источник


Ответы (1)


Отказ от ответственности: это может быть не идеальное решение, но оно сработает!

Используйте этап вычисления в конце цикла, но, поскольку вы не можете установить объект DateTime как «пустой», как насчет того, чтобы установить для них нечетную дату? Например. 01-01-4000 00:00:00.

После того, как вы закончите свой начальный цикл для заполнения отчета (я предполагаю, что это что-то похожее на Excel), вы создаете еще один цикл над своим отчетом и заменяете все нечетные даты на пустые ячейки. В качестве альтернативы вы можете написать макрос, чтобы избавиться от них всех сразу, без необходимости в цикле.

Лучшим решением, конечно, было бы правильно заполнить столбец Status в вашей очереди, но для этого требуется доступ к коду и разрешение на его изменение (и время для этого).

person Roel Strolenberg    schedule 27.07.2018
comment
Это правильный ответ. Как вы определили, элементы данных DateTime в этом процессе не обязательно соответствуют записи, которая была успешно или безуспешно обработана. Вам следует использовать другие, более определенные средства, чтобы определить, успешно ли было обработано дело. - person esqew; 30.07.2018
comment
Спасибо за ответы! Я проверю другие элементы данных, которые могут дать более определенное состояние дела, но если DateTime - мой единственный вариант, использование нечетной даты - хорошая идея. Спасибо еще раз! - person user10141049; 30.07.2018