CanvasとModel-drivenアプリの徹底比較 の記事では、モデル駆動型アプリの汎用性が高く、大量データにも対応できると書いていました。
業務シナリオでは、この2つアプリを別々に作成して利用するだけではなく、より複雑であるモデル駆動型アプリにシンプルなキャンバスアプリを入れる場面も存在します。
今回はPower Appを活用し、キャンバスアプリをモデル駆動型アプリに埋め込む方法を紹介します。
CanvasアプリでDataverseのレコード内容を取得する方法も見えてきます。
手順解説
1.Power Appを開いて、ソリューションを選択します。対象であるソリューションを選択し、テーブル(エンティティ)を開き、キャンバスアプリを埋め込みたいメインフォーム(forms)を選択します。
2.必ず値を持っているカラムを使用してください。カラムが値を持たない場合、モデル駆動型フォームのデータは変更しても、埋め込みキャンバスアプリが更新されません。
3.クラシックフォームに戻り、[Switch to classic]クラシックに切り替えるを選択します。
4.クラシックに切り替えたら、いわゆるdynamics 365のカスタマイズ画面に切り替えてきました。現在はdynamics 365の詳細設定の画面はレガシーインタフェースと呼ばれ、Power Appsのソリューション画面は新しいインタフェースと呼ばれています。
そこでケースタイトルをダブルクリックします。
5.コントロールを選択し、追加をクリックします。そこでキャンバスアプリ追加を選択します。
6.カスタマイズを選択したら、先ほどPower Appの画面にリダイレクトで戻ってきます。
7.Power Appに戻ってきたら、キャンバスアプリを追加することによって、アプリの作成画面が表示されます。モデル駆動型アプリが持っているデータをキャンバスアプリに渡すことが出来るようになりました。
8.現在、キャンバスアプリはデータをソース(model-driven)から取得することが出来ています。以下の手順は、一般的なキャンバスアプリを作成することと同じです。要件に応じて作成したら、保存します。
9.保存してdynamics 365レガシーインタフェースのフォーム作成画面に戻ると、アプリIDとアプリ名が自動的に入力されていることがわかります。
10.カスタマイズを保存して公開したら、dynamics 365の画面に反映されました。
コメント