当标志数据项为空时,IsFlag()不返回False

时间:2019-05-13 12:54:52

标签: automation blueprism rpa

在Blue Prism v5中,有一个函数IsFlag()可用于评估数据项是否为Flag类型。通常情况下一个数字,如果数据项为空,则函数IsNumber()将返回False。

在我的情况(一个标志数据项)中,在决策阶段执行此表达式时,函数IsFlag()不会返回False。

有人可以向我解释原因并为此提供解决方案吗?

我已经从别人那里得到的解决方案: -评估Flag是否设置为True -将决策阶段放在块中 -在实际评估要评估的条件之前,添加“恢复/恢复”阶段并将其值设置为False(作为“默认”值)。

1 个答案:

答案 0 :(得分:2)

IsFlag()的工作方式与您想象的不同-它不会根据变量的类型来评估变量,但会评估传递给它的字符串。

如果要为其提供文字变量“ Notflag”,则由于它不是“ true”或“ false”,因此该函数将返回“ false”。

如果要为函数提供标志True,则首先将其更改为文本“ True”,然后对其进行评估,实际上它是标志。

最后,如果要提供带有空标志的此功能,则首先将其更改为空字符串“”,这当然不是标志。空数字,日期等也会发生同样的情况。

我认为您的解决方案很棒。您还可以尝试使用以下代码,以使工作室中的盒子更少。

Trim([Flag])=""

[Flag] = True OR
[Flag] = False OR
Trim([Flag])=""