弊社では定期的に Office 365 および SharePoint 関連の研修を行っていますが、受講する方が過去にどういったコースを受講していただいたかなどを確認するために、「受講履歴」を SharePoint リストで管理しています。
従来は入力画面を InfoPath でカスタマイズして管理していたのですが、ここにきて Modern UI + PowerApps でのカスタマイズに変更してみました。これがなかなかいい具合です。
まず、カスタマイズした画面が下記の通りです(実データなので、もちろん、一部情報は伏せています)。
コースを受講していただくごとに情報登録しているのですが、画面をPowerApps でアレンジし、メールアドレスをもとに、同じリストから過去の履歴を Filter 関数で取得してデータテーブルに表示するようにしています。これでいつ、どのコースを受講いただいたのかが一目瞭然です。
新規にアイテムを登録する(受講履歴の新規登録)ときは、電子メールアドレスを入力後、[参照]ボタンをクリックすると、別で管理している"顧客データベース" リストから会社名と名前を自動取得できるようにしています。また受講したコース情報も選択肢から選べるようにしており、この情報もやはり別で管理している "コース情報" リストから取得するようにしています。ちなみに、[参照]ボタンはアイテムの新規登録や編集時のみ表示するように設定。
顧客データベースに格納しているアイテム数(エントリー数)が多いので、PowerAppsの Filter 関数を使うときに "委任" に気を付けなくてはいけませんが、そこをクリアし見た目をあまり凝りすぎなければ30分もあればある程度の見栄えで出来上がるレベルです。
とはいえ、最初に手を付けるときにはあれこれ調べながら「実装をどうしようか」などあれこれ吟味しながら業務の合間に作業したたため、ここまで来るのにそれなりに数日掛かってはいます。が、実装したい機能が決まれば、あとはスムーズです。
しっかし、InfoPath のころに比べると、データソースからのデータ取得や入力など速い! InfoPath Form Services だと何かにつけて、サーバーサイド実行となり、ポストバックが多発発生していましたからね。クライアントサイドで動くメリットをとても感じますね。
現在、PowerApps & Flow の入門者向け研修をオリジナル開発して実施していますが、色々と実際の業務で使ってみた事例をためて応用編となるワークショップをやりたいなぁなどと考えている今日この頃。。。まずはいろいろとアプリを作り貯めないと。。またお見せできるものを作ったら公開します。※最近追加されたリッチテキストエディターコントロールが、もうちょっとスムーズに動いてくれると、ネタがまだあるんだけどなぁ。
コメント