> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 条件分岐フローノード

> DingTalk YiDAの承認フローにおける条件分岐フローノードの設定方法を解説します。条件に応じて異なる承認者を割り当て、複雑な分岐条件や複数条件の組み合わせを構成することで、多様な業務シナリオに対応できます。

条件分岐フローノードを使用すると、ワークフロー設計を複数の分岐に分割できます。ルール条件を満たしている限り、各分岐フローノードの実行アクションはすべて実行されます。分岐フローノードを活用して、より複雑な分岐条件や複数条件の組み合わせを設定することで、ワークフロー内の分岐やフローノードが増えすぎる問題を解決できます。これにより、承認フローに柔軟な送信ルールを付与し、より多様なシナリオに対応できます。

## ユースケース

承認フローにおいて条件ごとに異なる承認者を設定する必要がある場合、承認条件を設定し、1つのワークフロー内に複数の分岐を構成できます。

**例**：社員が休暇を申請する際、休暇期間が7日未満の場合は上司が承認し、7日以上の場合はゼネラルマネージャーが承認します。

## 分岐フローノードの追加

分岐フローノードを活用して、より複雑な分岐条件や複数条件の組み合わせを設定することで、ワークフロー内の分岐やフローノードが増えすぎる問題を解決できます。これにより、承認フローに柔軟な送信ルールを付与し、より多様なシナリオに対応できます。

<Steps>
  <Step title="手順1">
    [YiDAワークベンチ](https://www.yidaapps.com/workPlatform)にログインします。対象のアプリを選択し、アプリの**ページ管理**ページに移動します。
  </Step>

  <Step title="手順2">
    ワークフローフォームを選択し、「ワークフローフォームを編集」の横にある下向き三角形をクリックしてから、**ワークフロー設計**をクリックします。
  </Step>
</Steps>

3. カーソルをフローノード間の接続線上に移動すると、\*\*+**ボタンが表示されます。**+\*\*をクリックし、条件分岐フローノードを選択します。

## 分岐条件の設定

分岐条件を追加すると、デフォルトで2つの条件が生成されます。**条件1**をクリックすると、条件の設定を開始できます。もう一方の分岐は**条件1**以外の場合に該当します。ワークフローが条件分岐に到達すると、分岐条件は左から右の順に評価され、最初に条件を満たした分岐が実行されます。いずれの分岐も条件を満たさない場合は、その他の場合の分岐が実行されます。

## 条件ルールの設定

条件ルールとして、数式の計算結果とフォームフィールドの値の両方に対応しています。

* 数式：現在のフォームのフィールドを用いて数式を編集し、分岐条件として設定します。条件を満たしているかどうかを判定するには、論理関数から関数を使用する必要があります。

* フォームコンポーネントの値：フォーム内の必須コンポーネントおよびシステムデフォルトフィールドを分岐条件として使用します。

条件ルールの評価には、以下のフォームコンポーネントに対応しています：ワークフローの起票者、ワークフロー起票者の部門、一行テキスト、複数行テキスト、選択、チェックボックス、ドロップダウン選択、ドロップダウンチェックボックス、数値、日付、添付、ユーザー、部門。

<Note>
  1つの条件で複数の条件ルールに対応しており、複数の条件ルールでは**AND**と**OR**に対応しています。
</Note>

## 条件分岐の追加

**条件の追加**をクリックすると、新しい条件を追加できます。新しい条件はデフォルトで条件1の右側に生成され、最初の条件よりも優先順位が低くなります。

## 分岐条件の優先順位の変更

分岐フローノードに3つ以上の分岐条件がある場合、次の方法で各分岐条件の優先順位を変更できます。

* 分岐条件の両側にある「>」（右）または「\<」（左）の矢印をクリックして優先順位を変更します。

* ドラッグ操作で直接優先順位を調整します。

## 並列分岐と条件分岐の相違点

* 条件分岐（分岐に優先順位あり）：データレコードが同時に2つの分岐を満たす場合、優先順位に基づいて最も優先順位の高い分岐のみが自動的に実行されます。優先順位は調整可能で、\[その他の場合]はデフォルトで最も優先順位が低く、変更できません。
* 並列分岐（分岐に優先順位なし）：データレコードが同時に2つの分岐のルールを満たす場合、両方の分岐のタスクが実行されます。
* フローノード数の計算の違い：

下図のとおり、条件分岐は1つのフローノードを占め、並列分岐は2つのフローノードを占めます。5つの承認者フローノード、および開始・終了のフローノードと合わせて、合計10のフローノードとなります。
