Power Apps で モデル駆動型アプリを作る(2)


さて、前回はDocsでされている手順に沿って、とにかくモデル駆動型アプリを作ってみました。今回は「どの手順がどのパーツを作ったのか」に焦点を当てて説明します。

前回作ったアプリはこんな画面です。これは取引先企業の一覧です。作成時に「エンティティ:取引先」と指定したことで、取引先の一覧画面を含むアプリが作成されました。 

赤丸のプルダウンをクリックしてみましょう。ビューが3つ存在するようです。

これは、アプリデザイナーの「ビュー」のところでチェックONした3つに対応しています。

プルダウンで「すべての取引先企業」のビューを選ぶと取引先の表示件数が2件に増えました。これは、ここのビューが抽出条件を標準で(重要!)持っていることを示しています。切替前のビュー名が「自分のアクティブな取引先」だったことから、各取引先レコードには「担当者」「アクティブか否か」を管理する項目を持っているものと思われます。(D365CEの経験者はその推測が正しいことを知っていると思います。)

試しに一覧の Blue Yonder Airlines をクリックしてみましょう。以下のような画面が表示されます。この画面構成はどこで定義されているのでしょうか?

答えはアプリデザイナーにあります。「フォーム」の青いタイルをクリックすると右側に「コンポーネント」が表示されます。チェックを入れた箇所の右の鉛筆マーク(赤丸の部分)をクリックします。

以下の画面が起動します。ここで先ほどの画面構成を定義しています。D365CEをやっていた人にはおなじみの画面です。

大事な事は、これらがほぼ標準で備わっており、ほとんど指定しなくても大抵のものが決まっているということです。いいかえると「ビジネスにおいて取引先を管理したい場合って、管理項目は○○と××で、こういう入力画面が良いよね。」と決めてくれている点です。今回のサンプルでは見ていませんが、「取引先マスタのデータのライフサイクルってこうだよね」と標準で決めてプロセス定義されているのではないかと推測します。ここがキャンバスアプリとの最大の違いです。(キャンバスアプリは全て自分で定義していますね。)ERP屋的な目線でいうと、取引先マスタの管理をキャンバスアプリで作るのは相当大変で「ちょっと勘弁してください。。」という感覚です。
※どちらが良い/悪いという話ではなく、適している方を使いましょう、という話です。

 

さて、他のパーツも見ていきましょう。上の方に「エリア01」という文字が見えます。

これは最初の方に作った「サイトマップ」の構成要素ですね。これだけ見ると「グループはどこに行った?!」と思ってしまいますが、、

アプリの左側の「三」ボタンをマウスオーバーすると「サイトマップ」というToolTipが表示されます。押してみましょう。

ここに「エリア」>「グループ」>「取引先企業」が階層表示されています。ちなみに「Dynamics365」の右側の下矢印をクリックするとD365の各アプリケーションが表示されるのですが、その中にこのアプリが登録含まれています。前回作成した際のアイコンが表示されていることが分かります。その他の「営業ハブ」「顧客サービス」などはDynamics365の各モジュールです。これは人によって表示されたりされなかったりします。自分はD365のFreeTrialを申し込んだアカウントで今回のアプリを作成したのでD365アプリが表示されていますが、多くの方はD365ナシだと思います。

しれっと「Dynamics 365 の横の下矢印を押して…」と書きましたが、PowerAppsのモデル駆動型アプリを作っていたはずなのにDynamics365が起動しています。そうです、モデル駆動型アプリはDynamics365ベースでできています。(より正確にはCDSそのものがD365CEベースという理解しています。)

全く同じものを共有しているかというと、どうやらそうではなさそうでして、以下の画面はD365CEの「サイトマップ」にあたるものです。構造は似ていますが、見てくれが若干違いますね。これが、分離する方向に行くのか、D365CEがCDS for Apps側に寄って行くのかは不明です。(経験則的には後者かな、、と思いますが。)

こちらはD365CEの取引先一覧画面です。

プルダウンの矢印を押すと、数多くのビューが出てきます。これらの選択肢をよくよく見ると、、

ビューのコンポーネントでチェックを付けなかったものと対応していることが分かります。ALLにちぇくを入れるとD365CEのプルダウンと一致するはずです。(多分。)

D365CEの一覧画面で左上の「+新規」を押してみます。

登録画面が表示されるのですが、管理項目や画面構成は今回のアプリとそっくりです。

 

「D365CEと同じだったら、D365CE使えばいいじゃないか。わざわざモデル駆動型アプリを作らなくても良いし」と思うかもしれませんが、それは違います。まず、ユーザーライセンス費用が違いますし、導入費用も大きく異なります。

例えば、Dyanmics 365 Business Centralの導入企業が、「取引先を管理したい。でもD365BCの機能は今一つ。。」といった話になった場合、 Dynamics365 Business Central+モデル駆動型のPowerAppsという選択肢が浮上してくると思います。

今回は「取引先」を例にして説明しましたが、標準で用意されているサンプルのエンティティは他にもありますので、色々と触ってみてください。

CDS、モデル駆動型アプリは今後が楽しみです!

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です