
「Flow Decision」アクティビティは「If」アクティビティと同様に、2つあるフローのうち、条件に一致するフローをロボットに実行させることができます。
動作としては「If」と同様ですが、フローチャート内でのみ使用可能という点が「If」とは異なります。
これは、シーケンスは単一で直線的なフローを作成するためであるという観点に基づいているためです。(「If」はシーケンス内でも使用可能です)
また「Flow Swith」は3つ以上のフロー分岐時に使用するためのアクティビティですが、「Flow Decision」は2つのフロー分岐に限定されています。
「If」および「Flow Switch」アクティビティについては下記を参照ください。
Contents
Flow Decisionによるフロー制御
「Flow Decision」を使用することにより、2つある実行フローのうち、一方のフローのみ実行するようにロボットに指示できます。
デザイナーパネルに配置した際にひし形で表示され、見た目的にもすぐに条件分岐であることが確認できます。またアクティビティの右上を選択することによって、分岐条件(Condition)を常に表示することもできます。
動作的には「If」と等価ですが以下の点が異なります。
- デザイナーパネル上でフローステップラインで結ぶことで後続作業を指定する。
- フローチャート内でのみ使用可能
シーケンス内では「If」を使用し、フローチャートでは「Flow Decision」を使用することにより、可読性が高まり仕様変更時などの対応も比較的楽に行えると思います。
Flow Decisionアクティビティのプロパティ
表示名(DisplayName)
デザイナーパネル上に配置した際に表示される「Decision」の名称を変更することができます。システム動作には影響ありません。また日本語も使用可能です。
分岐条件(Condition)
このプロパティに分岐条件を記載します。またこのプロパティは省略できません。
.NETプログラムと同様にUiPathでは「1=1」のように記載し、左辺と右辺が一致する場合は「true」のフローを実行し、不一致の場合は「false」のフローを実行します。文字列の場合はダブルコーテーションで括る必要があり、変数や数値の場合はそのまま記載できます。
Falseの表示ラベル(FalseLabel)
デザイナーパネル上の「False」の表示を変更することが可能です。日本語も使用可能であり、引用符で囲む必要もありません。
名称を変更することにより、時間が経ってから再度見た際にFalse時の条件を一目で確認することができます。
Trueの表示ラベル(TrueLabel)
デザイナーパネル上の「True」の表示を変更することが可能です。日本語も変更可能です。また引用符で囲む必要はありません。
分岐条件(Condition)の記載方法
「Flow Dicision」の分岐条件も「If」と同様に.NET形式で記載することができます。
ひとつの条件のみ指定する場合
valueの値が「3」と等しい
value = 3
valueの値が「3」と等しくない
value <> 3
valueの値が「3」以上である
value >= 3
valueの値が「3」より大きい
value > 3
valueの値が「3」以下である
value <= 3
valueの値が「3」より小さい
value < 3
複数の条件を指定する場合
「AndAlso」を使用することで、AとBの二つの条件に一致するか判定することができます。
valueの値は3以上かつ10以下である
ex) 3の場合はTrue、11の場合は「False」
value >= 3 AndAlso value <= 10
Flow Decisionアクティビティのサンプル
「Flow Dicision」のサンプルも「If」と等価ですのでそちらを参照ください。
ここではラベルを変更した場合のデザイナーパネル上での表示差異を記載します。
Decisionの表示名称を「value値による分岐条件」に変更します。
条件に一致した場合の説明を「True」から「値20以上」に変更します。
条件に一致しなかった場合の説明を「False」から「値が19以下」に変更します。
まとめ
Flow Decisionの使い方について説明しました。
Ifと異なり、フローチャート内でのみ使用できる点や、逆にプロパティの指定方法や、実際の動きとしては「If」と全く同じである点を覚えておいてください。