記事公開日
最終更新日
【業務改善】ヒヤリハットアプリ Power Appsキャンバスアプリ編

こんにちは、システムソリューション営業本部の岡部です。
今回ご紹介させていただくのは、ヒヤリハットアプリのキャンバスアプリ編です。
事前準備
まずは、アプリを作成する準備を始めます。
Power Appsの始め方については、以下記事で説明しています。ぜひご覧ください。
アプリ作成概要
ヒヤリハットは、事故や災害に繋がる原因を特定し対策をする貴重な機会であり、リスクマネジメントの観点から多くの企業で重要視されています。ヒヤリハット運用を適切に運用できれば重大な事故を未然に防ぐことができますが、下記のような課題も多いのではないでしょうか?
・報告書の記入が手間で発生から報告までに時間がかかっている
・紙媒体の運用で上長・統制部門の承認等で大きな移動ロスが発生している
・ヒヤリハット件数が多くなり、対策完了・未完了の管理が困難
・各部門での運用(Excelや紙媒体)がバラバラのため、一貫した管理が行えていない
このような環境下では、作業者の安全意識も低下し、ヒヤリハット運用が形骸化してしまう原因となってしまいます。
本ブログでは、ヒヤリハットアプリを作成してヒヤリハット報告の効率化を行い、安全性向上を目指します。
要件定義
要件定義では、現状のフローや課題の洗い出しを行い、アプリの目的や機能を決定していきます。
まず、現状のフローを考えていきます。
今回は、この一連の流れを紙媒体やエクセルで行っていると想定します。
現状のヒヤリハットには上述のとおり多くの課題が挙げられます。
挙がった課題から、紙媒体やExcelでの運用では、報告書記入、承認フロー、対策管理などの運用が煩雑になっていることが分かります。
その課題を解決するために、今回は下記のような目的・機能をアプリによって実現していきます。
目的:利用者、管理者が使用しやすく、統制部門が一貫して管理することで適切な運用が行える
・機能①:スマホから簡単に報告できる・機能②:上長承認フローの自動化
・機能③:対策完了報告・対策期限切れ通知の自動化
アプリ構成
下記構成で作成を進めていきます。本編では、①キャンバスアプリと②Dataverseテーブルの作成を行います。

テーブル作成
それではまず初めに、Dataverseテーブルを作成します。
これによって、各部門がバラバラに保存していたデータを一つにまとめます。
今回は4つのテーブルを以下のような構成で作成していきます。

キャンバスアプリの作成
続いて、キャンバスアプリを作成していきます。
[データ]>[データの追加]からアプリに必要なデータを追加します。
[新しい画面]>[空]をクリックし、3つの画面を作成します。
[+挿入]>[テキストラベル]をクリックし、ヘッダーで使用するラベルと名前を表示するラベルを作成します。
「ListScreen」に[垂直ギャラリー]を追加し、先ほどのテーブル作成で作成したDataverseテーブルの「ヒヤリハット報告」テーブルを接続します。
DetailScreenに移動し、[表示フォーム]、[アイコン]×3、[テキストラベル]×3、[四角形]を追加します。
戻るアイコンは"back_icon"、編集アイコンは"edit_icon"、削除アイコンは"delete_icon"と名前を変更します。
表示フォームには先ほど作成したヒヤリハット報告テーブルを接続します。
追加した「戻るアイコン」をクリックすると前の画面に戻るようにします。
OnSelectプロパティ:Back()
「編集アイコン」をクリックすると「EditScreen」に遷移するようにします。
また、Form1を編集モードで表示するようにします。
OnSelectプロパティ:Navigate(EditScreen,ScreenTransition.Fade);EditForm(Form1)
「表示フォーム」に「ListScreen]で選択したレコードが表示されるようにします。
Itemプロパティ:Gallery.Selected
EditScreenに移動し、[編集フォーム]を追加し、「ヒヤリハット報告テーブル」を接続します。
「編集フォーム」に「EditScreen]で選択したレコードが表示されるようにします。
Itemプロパティ:Gallery.Selected
「登録アイコン」に編集フォームの内容がテーブルに格納され、ListScreenに遷移するようにします。
OnSelectプロパティ:SubmitForm(Form1);Navigate(ListScreen,ScreenTransition.Fade)
これでEditScreenは完成です。
最後に新規登録画面を作成していきます。
先ほどまで設定したEditScreenのForm1をそのまま使用し、新規登録ボタンで遷移するようにします。
これで新規登録ボタンを押したらEditScreenの新規登録フォームが表示され、一覧からレコードを選択すると、EditScreenの編集フォームが表示され、フィールドの編集を行うことができます。
ListScreenに遷移し、[挿入]>[ボタン]で新規報告ボタンを用意します。
「新規報告ボタン」を押したらEditScreenに遷移し、Form1を新規フォームで表示するようにします。
OnSelectプロパティ:Navigate(EditScreen,ScreenTransition.Fade);NewForm(Form1)
Galleryの中の[>]を押すとDetailScreenに遷移するようにします。
OnSelectプロパティ:Navigate(DetailScreen,ScreenTransition.Fade)
これで全ての設定を作成できましたので、動作確認をしていきます。
まず新規報告ボタンを押して、EditScreenのForm1が新規モードで表示されることを確認します。
フォームに入力し、登録ボタンを押します。
テーブルにレコードが追加されたことを確認します。
続いて先ほど登録したレコードを選択し、Detail画面に遷移することを確認します。
編集ボタンを押すとEditScreenに遷移し、Form1が編集モードで表示されることを確認します。
まとめ
今回は、Dataverseテーブルとキャンバスアプリの作成を行いました。
これでも利用者がスマホから簡単にヒヤリハットの報告が行えるアプリが出来ましたが、管理者が承認をしたり、統制部門が社内で発生したヒヤリハットを一覧で見て管理するような機能はありません。
そこで次回はモデル駆動型アプリを作成し、管理者向けの機能を実現していきたいと思います。
モデル駆動型アプリは、業務プロセスの表現に強いUIで、業務ロジックを組み込み、業務管理者向けのアプリを作成することができます。次回もぜひご覧ください!
QESでは、Power Platfrom導入時の支援から、アプリケーション開発、導入後の保守サポートまで対応しています。
以下のリンクからご提供しているサービスの詳細をご確認いただけます。
※このブログで参照されている、Microsoft、Power Platform、Power Apps、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。