Skip to content

チュートリアル:2者による並列承認 ​

1 件の申請を 2 人が同時に確認し、2 人とも承認したら承認終了、1 人でも却下したら却下終了になるモデルを作成します。

画面を開く ​

acomo でモデル一覧を開く

「モデルを作成」から「空のモデルから作成」を選び、モデル名に「経費精算:2者並列承認」と入力してモデルを作成します。

左パレットに並列分岐と並列結合が表示されるモデル編集画面

手順 ​

完成する流れ ​

text
開始 → 申請 ─提出→ 並列分岐 ┬→ 承認1 ─承認・却下─┐
                             └→ 承認2 ─承認・却下─┴→ 並列結合
                                                        ├→ 終了(承認)
                                                        └→ 終了(却下)

トークンの数え方 ​

並列結合の遷移条件では、次の 3 つの値を使います。

変数現行仕様で表す値
$token.childTokenLength対応する並列分岐から並列結合へ最大で到達するトークン数。このチュートリアルでは 2 です
$token.approveCount「承認」エッジを通って、この並列結合へ到達したトークン数
$token.rejectCount「却下」エッジを通って、この並列結合へ到達したトークン数

並列結合は、いずれかの条件を満たした時点で自動的にその接続先へ進みます。全員承認は $token.approveCount >= $token.childTokenLength、1 人でも却下は $token.rejectCount > 0 とします。

ワークフロー定義を作成する ​

  1. 左パレットから「開始」「タスク」「並列分岐」、2 つの「タスク」、「並列結合」、2 つの「終了」を追加します。
  2. 各ノードを「開始」「申請」「並列分岐」「承認1」「承認2」「並列結合」「終了(承認)」「終了(却下)」と名付け、変更のたびに右インスペクターで「確定」します。
  3. 並列分岐を選び、「分岐方式」の「編集」を開きます。「全接続先へ分岐」を選び、「適用」してから「確定」します。
  4. 開始から申請へ「通常」、申請から並列分岐へ「提出」のエッジを接続します。
  5. 並列分岐から承認1、承認2へ、それぞれ「通常」のエッジを接続します。
  6. 承認1と承認2から並列結合へ、それぞれエッジを接続します。各エッジで「承認」と「却下」を選び、「確定」します。
  7. 並列結合から終了(承認)、終了(却下)へ、それぞれ「通常」のエッジを接続します。

並列結合の条件を設定する ​

  1. 並列結合を選びます。右インスペクターの「遷移条件」に、2 つの接続先が表示されます。
  2. 終了(承認)へ向かう条件の「編集」を選びます。
  3. 左辺に「承認数」$token.approveCount、演算子に >=、右辺に「並列分岐数」$token.childTokenLength を設定します。
  4. 「適用」を選びます。
  5. 終了(却下)へ向かう条件の「編集」を選びます。
  6. 左辺に「却下数」$token.rejectCount、演算子に >、右辺に数値 0 を設定します。
  7. 「適用」を選び、右インスペクターで「確定」します。

並列結合には遷移条件が必要です。接続先だけを作り、条件を空のままにしないでください。

実行ポリシーを設定する ​

  1. 開始ノードと申請ノードには、チュートリアル:1段階の申請・承認 と同じ申請者向け条件を設定します。
  2. 承認1には 1 人目の承認者が持つロール、承認2には 2 人目の承認者が持つロールを指定します。
  3. 条件式の編集画面では「適用」、右インスペクターでは「確定」を選びます。

同じロールを両方の承認ノードへ設定すると、同じ利用者が 2 つの承認を実行できる場合があります。2 人による確認を保証する場合は、別のロールまたは利用者を条件に指定してください。

データと表示権限を設定する ​

  1. 「データスキーマ」で申請項目に加え、approver1Comment と approver2Comment を文字列として追加します。
  2. 「データアクセスポリシー」で、申請ノードは申請項目を「書き込み」にします。
  3. 承認1は申請内容を「読み込み」、approver1Comment を「書き込み」にします。
  4. 承認2は申請内容を「読み込み」、approver2Comment を「書き込み」にします。
  5. 終了ノードは、確認させる項目を「読み込み」にします。

保存して動作を確認する ​

  1. 画面下部の「保存する」を選び、続けて「公開する」を選びます。
  2. 申請者でプロセスを開始し、提出します。
  3. 1 人目だけが承認した時点では、$token.approveCount は 1、$token.childTokenLength は 2 なので、プロセスは承認2を待ちます。
  4. 2 人目も承認すると、2 >= 2 を満たし、終了(承認)へ進みます。
  5. 別のプロセスでどちらか 1 人が却下すると、$token.rejectCount > 0 を満たし、その時点で終了(却下)へ進むことも確認します。

うまくいかないとき ​

  • 並列分岐後に片方へしか進まない場合は、「分岐方式」が「全接続先へ分岐」になっているか確認してください。
  • 承認または却下しても並列結合へ集計されない場合は、各承認タスクからのエッジに「承認」と「却下」の両方が設定されているか確認してください。
  • 2 人が承認しても完了しない場合は、承認側の式が $token.approveCount >= $token.childTokenLength になっているか確認してください。
  • 1 人が却下しても終了しない場合は、却下側の式が $token.rejectCount > 0 になっているか確認してください。

次に読む ​

対応製品バージョン: acomo 1.0.0 / 画面・操作の最終確認日: 2026年8月26日