Forguncyのワークフローでは、ワークフローを設定したテーブルに「状態」、「担当者」の2つのフィールドが追加されてワークフローの管理が行われていますが、「状態」フィールドの値を監視することで、全員が承認したかどうかを確認できます。
実際にはワークフローの設定の「承認タイプ」で「全員の承認が必要」を選択している場合、すべての承認者が承認した時点で「状態」フィールドに次の状態名が設定されます。
たとえば、製品テンプレートの「出張申請」のワークフローでリーダーの承認について「全員の承認が必要」が指定されている際にリーダーが三人いた場合、一人目と二人目のリーダーが承認した時点では「状態」フィールドの値は「申請中」のままですが、三人目のリーダーが承認した時点で、アクション実行後のコマンドで「状態」フィールドを参照すると次のワークフローの状態である「承認済」もしくは「部長承認申請中」が設定されています。
そのため、アクション実行後のコマンドで「状態」フィールドの値を参照することで、全員が承認した際に実行する処理を組み込めます。
以下の画像の例では、「申請中」状態の「承認」アクションの実行後のコマンドで、「条件分岐」コマンドを使用してテーブルの「状態」フィールドの値を確認しています。
「状態」フィールドの値が「承認済」もしくは「部長承認申請中」の場合に、全員が承認したら実行するコマンド(「メッセージの表示」コマンド)を実行しています。
実際の動作については、添付のサンプルで確認できます。
メンバーが申請を行い、リーダーである「hideki」、「ikuma」の二人が承認するとメッセージが表示されます。
添付のプロジェクトファイルは、10.0.10.0以降のForguncy Builderで読み込むことができます。