七月三月です。
Power automateで汎用承認フロー作成の2回目です。
今回は、いきなり汎用承認フローの要となる、汎用性を実現するマスタの構造を説明しますね。
データベースはシェアポイントリストでもExcel表でもDataverseでもどれでもいいのですが、承認フロープロセスのパターンを、必要な人が必要の都度登録していくことを考えると、だれでも使いやすいExcel表が一番おすすめかなと思います。
まず、フロー定義マスタです。
データイメージを貼り付けます。

ここで、各フィールドの意味は以下の通りです。
FlowID: フローの固有IDです。ここに登録した数のパターンだけフローの種類が登録できます。
FlowName: フローの名前です。分かりやすい名前を付けるのが吉ですね。
InitialTaskID: フローの起点となるTaskIDを格納するフィールドです。これは後述する「タスク定義マスタ」に出てくるタスクのIDを入れます。
イメージでは10種類、登録してみました。これらのパターンの承認フローを、一つのPower automateフローで実現しようとするのが今回の汎用承認フローの目的です。
次に、タスク定義マスタです。
タスク定義マスタは、承認フロー内の一つ一つのタスクを定義するマスタです。
先に確認したフロー定義マスタ1(単一)に対し、タスク定義マスタがN(複数)になるリレーション関係です。
データイメージは以下です。

一番シンプルな例は、F-01 基本承認フロー ですね。
申請者が申請した内容を承認者が承認したら終わり、です。
フローイメージはこんな感じです。

この承認フローを、タスク定義マスタでは以下のように定義しているのが分かります。

このデータを見ながら、各フィールド値を説明します。
TaskID: フロー種類(FlowID)内のタスクごとに付与するIDです。フローでは、同一フロー種類(FlowID)のタスクを上から順番に実行していきます。
FlowID: タスクが定義されているFlowID値です。フロー定義マスタのFlowIDとリンクしています。
TaskName: タスクのわかりやすい名前を付けます。
ExecuteionType: タスクが承認実行対象かを判別するフラグです。後ほど詳細を解説します。
ApproverType: 承認者が固定先か動的に変わるかを判別するフラグです。後ほど詳細を解説します。
ApproverSource: 承認者のアドレスまたは、動的承認者の場合承認者を取得するロジックのアクセス方法を記載します。
ConditionRule: コンディションルールを設定するパラメータフィールドです。後ほど詳細を解説します。
NextTaskID: 本タスク正常終了後(承認)の継承タスクを定義します。
Rejected_NextTaskID: 本タスク異常終了後(却下)の継承タスクを定義します。
フロー定義マスタとタスク定義マスタ、二つのマスタが登録できたら次は申請トランザクションと承認履歴のテーブルを作成します。