2024/5/18:UIを最新版に更新
モデル駆動型アプリを使って「ねこ管理アプリ」を作ってみたシリーズ第4回。
今回は前回作ったモデル駆動型アプリに「ビジネスプロセスフロー(業務プロセスフロー)」を実装していく。
ビジネスプロセスフロー
ビジネスプロセスとは「業務の流れ」を定義したもの。
※もちろん同じ業務でも会社によって流れが違うこともある。
経費申請とかであれば、ざっくりと、
- 申請
- 承認
- 支払
みたいな流れが業務のプロセスになると思う。
モデル駆動型アプリの「ビジネスプロセスフロー」を使うと、この業務の流れをアプリで管理することができる。
ビジネスプロセスフローの作成
ということで、さっそくねこ管理アプリにビジネスプロセスフローを実装していく。
今回作るビジネス(?)プロセスフローはこんなイメージ。
- ねこ受け入れ準備
- ワクチン1回目摂取
- ワクチン2回目摂取
本当はもっと色々やることがあるんだけど、ひとまずこのくらいで。
ねこテーブルに列を追加
まずはねこテーブルにこれらのプロセスが完了したこと記録する列を作っていく。
最初にねこの受け入れ準備が済んでいるかを設定する列「ねこ受け入れ準備」を作成する。


続いて1回目と2回目のワクチンの接種日と接種予定日を設定する列を作る。


最終的に「ねこ」テーブルの列は以下の画像のようになる。


ビジネスプロセスフロー作成
そしたらビジネスプロセスフローを作成していく。
モデル駆動型アプリ編集画面の[自動化]タブから[ビジネスプロセスフローを作成する]を選んで、「表示名」と「名前」を設定し「ねこ」テーブルを選択して[作成]を押す。


するとビジネスプロセスフローができるので、[新しいタブで編集する]を押す。


初期画面はこんな感じ。


まずは最初のステージの表示名を「ねこ受け入れ前」に設定し、


ステージの「詳細」を押して、データステップを選択。以下の画像のように設定する。


続いてドラッグドロップでステージを2つ追加して、


追加した1つ目のステージに1回目のワクチンの接種予定日と接種日を設定。


追加した2つ目のステージに2回目ワクチン接種予定日と接種日を設定。
以下の画像のようになったら、[保存]→[アクティブ化]でビジネスプロセスフローの作成は完了。

以下の画像のようになったら、[保存]→[アクティブ化]でビジネスプロセスフローの作成は完了。

動作確認
モデル駆動型アプリを再生して、「ねこ」テーブルの[新規]を押すと、


先ほど作成したビジネスプロセスフローが表示される。


新しいねこを保存して再度フォームを開くと、最初のステージがクリックできるようになっていて「ねこ受け入れ準備」列を編集することができる。


値を設定(済を選択)すると「次のステージ」に進めるようになるので、このボタンを押すと、


ステージが進む。


必須項目を設定しないで「次のステージ」を押下するとエラーメッセージが出るので、業務の実施漏れを防ぐことができる。


最後のステージが完了するとこのように「完了」マークになって、このレコードに関する業務が完了したことがわかるようになっている。


こんな感じで、モデル駆動アプリで各レコードに対する業務の流れを管理する機能がビジネスプロセスフロー。
次回の記事ではこの「ビジネスプロセスフロー」に「ワークフロー」と「Power Automateのフロー」を組み込んでみる。
- Power Apps モデル駆動型アプリについてがんばって説明してみる
- 第1回「テーブル(エンティティ)の作成」
- 第2回「テーブルの作成とリレーション」
- 第3回「モデル駆動型アプリ作成」
- 第5回「ワークフロー/Power Automateのフロー」
- 第6回「キャンバスアプリの埋め込み」
おまけ:Power Platformは「フロー」と名の付くものがたくさんあってややこしい
地味にややこしいのが、Power Platformにおいて「フロー」と名前の付くものがぱっと思いつくだけで3種類あること。
- ビジネスプロセスフロー
- Power Automateのフロー
- ワークフロー
これらは全て別物。
この中で一番なじみが薄いであろう「ワークフロー」はDynamics365の機能で、Power Automateができる前からある業務自動化のための製品。
なので現在はPower Automateを優先的に使うことが推奨されている。
※フローの同期実行など、ワークフローでしか実現できない機能も一部あるため残されているらしい。
コメント
ステージとは何ですか?
僕は「業務フローの各段階」と思っています。
例えば、「購入申請」とかであれば、
・申請受理
・内容確認
・承認/否認
・通知
みたいなステージがあるかなと。
https://docs.microsoft.com/ja-jp/power-automate/business-process-flows-overview