埋め込み型キャンバス アプリケーションをモデル駆動フォームに追加する

この記事では、キャンバス アプリをモデル駆動フォームに埋め込む方法を説明します。 キャンバス アプリは、さまざまなデータソースに接続することができ、デザイナーはユーザー エクスペリエンス全体をより自由にコントロールすることができます。

この記事では、2 つの統合方法を説明しています。 まず、最新の統一インターフェイス エクスペリエンスを使用し、続いて従来のエクスペリエンスを使用します。

注意

キャンバスアプリをモダンアプリ内に組み込む方法として、3つ目の、より新しい方法があります。それは、キャンバス アプリとの統合性を高めるためにカスタムページを使用するものです。 モデル駆動型アプリのカスタム ページ概要

モデル駆動型アプリのメイン フォームの埋め込み型キャンバス アプリの例。

最新のエクスペリエンスを使用してキャンバス アプリを埋め込む

Accounts テーブルのメイン フォームなど、モデル駆動型アプリのメインフォームにキャンバス アプリを埋め込むには、次の手順を実行します。

  1. Power Apps にログインします。

  2. 環境を選択し、左側のナビゲーション ウィンドウから ソリューション を選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  3. メイン フォームにキャンバス アプリを追加するテーブルがあるソリューションを開きます。

  4. テーブルを開き、Forms を選択して対象の Main フォームをを開きます。

    ヒント

    既定では、キャンバス アプリ コンポーネント ラベルは 新しいキャンバス アプリです。 キャンバス アプリのラベル名を、キャンバス アプリの名前や、フォームに埋め込むキャンバス アプリの短い説明など、より意味のあるものに変更するとよいでしょう。

  5. キャンバス アプリを表示するフォーム上の領域を選択するか、キャンバス アプリを表示する新しいタブを作成します。

  6. 左側のナビゲーションペインで、コンポーネントを選択して表示を展開し、キャンバス アプリコンポーネントを選択します。

  7. コントロールには、以下のプロパティを設定することができます。

    • エンティティ名 領域では、次のプロパティを指定できます:

      • テーブル列にバインドする: テーブル列にバインドする を選択すると、静的値 プロパティが変化し、どのテーブル 列にバインドするかを選択できるようになります。 テーブル列にバインドすることを選択すると、列はテーブル列の値によって定義されます。 たとえば、エンティティ名テーブル列にバインドする を選択した場合、アプリ実行時にテーブル名の値は指定した テーブル列 の値となります。

      • 静的な値: これを使用して、キャンバス アプリを参照する名前を追加します。 この値は、埋め込みキャンバス アプリに影響しないことに注目してください。 参照ポイントとしてのみ機能します。

    • アプリ名領域は、キャンバス アプリの一意の名前を指定します。

      • テーブル列にバインドする: テーブル列にバインドする を選択すると、静的値 プロパティが変化し、どのテーブル 列にバインドするかを選択できるようになります。 テーブル列にバインドすることを選択すると、列はテーブル列の値によって定義されます。 たとえば、アプリ名テーブル列にバインドを選択すると、アプリ名の値は、アプリの実行時にカスタム テキスト列の値などのテーブル列の値を取得します。

      • 静的な値: 埋め込むキャンバス アプリの一意の名前を指定します。 既存のキャンバス アプリの場合は、キャンバス アプリの一意の名前を入力します。 詳細情報: キャンバス アプリの一意の名前とアプリIDを確認する方法

    • 必須の アプリ ID 領域は、キャンバス アプリのアプリ ID を指定します。

      • テーブル列にバインドする: テーブル列にバインドを選択すると、リストが変更され、バインドするテーブル列を選択できます。 テーブル列にバインドすることを選択すると、列はテーブル列の値によって定義されます。 たとえば、アプリ名テーブル列にバインドを選択すると、アプリ名の値は、アプリの実行時にカスタム テキスト列の値などの列の値を取得します。

      重要

      ほとんどの場合、正しいアプリ ID をレコード内のフィールドに表示する必要があるため、アプリ ID のテーブル列へのバインドオプションの使用はお勧めしません。

    • コンポーネントの表示。 埋め込みキャンバス アプリを表示するクライアントの種類を指定します。 Webモバイル、およびタブレットから選択します。 キャンバス アプリ コントロールをテーブル列に追加する。

  8. 完了 を選択します。 次に、アプリを公開してユーザーが使用できるようにするには、公開を選択します。

埋め込みキャンバス アプリを自分のモデル駆動型フォームに公開した後、埋め込みキャンバス アプリを他のユーザーと共有します。 詳細: 埋め込みキャンバス アプリの共有

ユーザーが修正したフォームを含むモデル駆動型アプリを開くと、埋め込みキャンバス アプリがフォーム上に表示されます。 メイン フォームに表示されるレコードを変更すると、フォームに渡されたデータ コンテキストが変更され、関連するデータを表示するように埋め込みアプリがリフレッシュされます。

この記事では、モデル駆動型フォームで埋め込みキャンバス アプリを使用する方法を説明しました。 埋め込みキャンバス アプリをさらにカスタマイズして、さまざまなデータ ソースに接続してデータを取り込むことができます。 フィルター、検索、およびルックアップ機能、およびホストのモデル駆動型フォームからフィルターから渡されたコンテキストを使用して、これらのデータ ソース内の特定のレコードをフィルター処理または検索します。 WYSIWYG キャンバス アプリ エディターを使用して、ユーザーの環境に合ったインターフェイスを簡単に設計します。

キャンバス アプリの一意の名前とアプリIDを確認する方法

キャンバス アプリ コントロールは、最初に、アプリ名 フィールドにある 一意の 名前を使用して、キャンバス アプリを検索します。 一意の名前を持つキャンバス アプリが環境に見つからない場合、キャンバス アプリ コントロールは次に App ID フィールドに指定された値を使用してキャンバスアプリを読み込みます。 アプリ名フィールドとアプリ ID フィールドの両方に値を入力する必要がありますが、埋め込みキャンバス アプリをコントロールに読み込むために正確である必要があるのは、どちらかの値だけです。 キャンバス アプリは現在の環境に存在する必要があることに注意してください。

  • アプリ名 フィールドは、キャンバス アプリの一意の名前を指定します。 一意の名前を見つけるには、キャンバス アプリをソリューションに追加します。 キャンバス アプリの一意の名前は、名前 列に表示され、フォーム solutionpublisherprefix_appnamenospaces_appendix に表示されます。 たとえば、contoso_canvasappwithsharepointlist_5ee16 です。 キャンバス アプリの一意の名前がソリューション領域に表示されます
  • アプリ ID プロパティは埋め込みキャンバス アプリの ID を指定します。 既存のキャンバス アプリのアプリ ID を入力します。 キャンバスアプリ ID は Power Apps にありますので、アプリ に移動して、詳細 コマンドバーでキャンバス アプリを選択します。

クラシック エクスペリエンスを使用してキャンバス アプリを埋め込む

  1. Power Apps にログインします。

  2. 当社の例では、会計テーブル、テーブルの メイン フォームを作成または編集 します。

  3. コマンドバーの クラシックに切り替える を選択して、クラシック フォームデザイナでフォームを開きます。

  4. クラシックフォームデザイナで、埋め込み型キャンバス アプリケーションを表示させるフォーム上のセクションを選択します。

  5. 列ペインを使用して、アカウント名 などの必須列を追加します。

    重要

    必ず値を持つ必須列を常に使用します。 列に値がない場合、埋め込みキャンバス アプリはホストのモデル駆動型フォーム上のデータが変更されるときに最新の情報に更新されません。

  6. 選択した列で、ホーム タブの 編集 グループで、プロパティの変更 を選択します。

  7. 列のプロパティ ダイアログ ボックスで、コントロール タブを選択します。

  8. コントロール タブにて、 コントロールの追加を選択します。

  9. コントロールの追加 ダイアログ ボックスの、使用可能なコントロールの一覧で、キャンバス アプリ を選択してから 追加 を選択します。

  10. 列プロパティ ダイアログ ボックスにて、コントロールの一覧から キャンバス アプリを選択し、Web オプションを選択します。

  11. コントロール リストの下部のセクションに、キャンバス アプリ コントロールで使用可能なプロパティのリストが表示されます。

    • テーブル名 プロパティは、埋め込みキャンバス アプリにデータを提供するテーブルを指定します。 これは、以前のステップで追加した列を含むテーブルにセットされます。
      • このプロパティが変更可能として表示される場合であっても、それに対する変更が埋め込みキャンバス アプリ上に影響を与えないことに注意してください。 それは参照することのみを目的としています。
    • アプリ名 プロパティは埋め込むキャンバス アプリの名前を指定します。 モデル駆動型フォームは、現在の環境で指定された名前のキャンバス アプリを探します。 その名前のキャンバス アプリが環境内に見つからない場合、キャンバス アプリ コントロールはアプリ ID を使用してキャンバス アプリを読み込みます。 既存のキャンバス アプリのアプリ名を入力します。
    • アプリ ID プロパティは埋め込みキャンバス アプリの ID を指定します。 既存のキャンバス アプリのアプリ ID を入力するか、カスタマイズ を選択することでキャンバス アプリを作成または編集するときに、アプリ ID が自動的に生成され入力されます。 キャンバスアプリ ID は Power Apps にありますので、アプリ に移動して、詳細 コマンドバーでキャンバス アプリを選択します。

    注意

    アプリ ID の値を変更すると、モデル駆動型フォームから埋め込みキャンバス アプリへのリンクが切断されることに注意してください。

    アプリ名もアプリ ID も既存のキャンバス アプリと一致しない場合、フォームには "申し訳ありませんが、そのアプリが見つかりませんでした" というメッセージが表示されます。

  12. 完成したキャンバス アプリを追加する場合は、ステップ 20 に進みます。 新しいキャンバス アプリを作成する場合、または既存のキャンバス アプリを編集する場合は、引き続き次のステップを実行してください。 キャンバス アプリを作成または編集するには カスタマイズ を選択します。 これは新規タブの、 Power Apps Studio で開きます。

    注意

    Power Apps Studio を開くことが Web ブラウザーのポップアップ ブロッカーによりブロックされた場合は、make.powerapps.com サイトを有効にするか、一時的にポップアップ ブロッカーを無効にしてから、再び カスタマイズ を選択する必要があります。

  13. 次の点に注意してください:

    • Power Apps Studio の通知には、 ウィンドウの左側に特別な ModelDrivenFormIntegration コントロールが表示されます。 このコントロールは、ホストのモデル駆動型フォームから埋め込みキャンバス アプリにコンテキスト データを取り込みます。
    • 埋め込み型キャンバス アプリケーションにキャンバスアプリケーション フォーム コントロール が自動的に追加され、ModelDrivenFormIntegrationコントロールを介してホストのモデル駆動フォームから渡されたデータが表示されていることを確認します。
    • ビュー タブを選択し、 データ ソースを選択します。 ご利用のホストモデル駆動型フォーム (この例ではアカウント) の親テーブルであるデータソースが、埋め込み型キャンバス アプリケーションに自動的に追加されていることに留意してください。 - フォーム 1 コントロールを選択し、DataSource プロパティが 取引先企業 と設定されていることを確認してください。
    • フォーム1 コントロールを選択した状態で、 Item プロパティが ModelDrivenFormIntegration.Itemと設定されていることを確認してください。

    注意

    埋め込みキャンバス アプリには、ModelDrivenFormIntegration.Item を介してホストのモデル駆動型フォームから読み取るための完全なアクセス権があります。 たとえば、accountnumber という名称と アカウント番号 という表示名称を持つ列の値を取得するには、 ModelDrivenFormIntegration.Item.accountnumber または ModelDrivenFormIntegration.Item.'Account Number' を使用することができます。

  14. 右側のプロパティ ペインで、 の隣にある 列の編集 を選択します。

  15. + 列の追加 を選択して、キャンバス アプリ フォームに別の列を追加することができます。またドラッグ アンド ドロップをすることで既存の列の順序を変更することができます。 列の追加と並べ替えが終了したら、データのペインを閉じます。

  16. ファイル のタブを選択し、 保存を選択します。

  17. クラウド タブを選択します。アプリに一意の名前をつけてから右下にある保存を選択します。 次の動作に注意してください:

    • アプリを初めて保存するときは、アプリが自動的に公開されます。
    • それ以降の保存時には、公開を選択してからこのバージョンを公開を選択し、変更を有効にします。
  18. メニューにて 戻るを選択します。

  19. クラシック フォームデザイナーが開いているブラウザのタブを選択します。 キャンバス アプリ コントロールの アプリ IDアプリ名 プロパティに値が自動的に入力されたことを確認します。

    重要

    • フォーム デザイナには、上記の手順で別のブラウザタブで開かれた Power Apps Studio への直接リンクが含まれています。
    • アプリ名が以下のスクリーンショットのような値であることを確認してください。 アプリ名プロパティは、実行時にキャンバス アプリを参照するために使用される一意の名前を指定します。 この名前が設定されていない場合、アプリ ID プロパティはキャンバス アプリを参照するために使用され、ソリューションの一部としてキャンバス アプリをインポートするときに問題が発生する可能性があります。 この名前を設定して、環境間で適切なキャンバス アプリを参照できるようにすることをお勧めします。 設定するには、手順 12 に戻り、手順に従って、埋め込むキャンバス アプリを作成します。
    App name and App Id properties
  20. フィールド プロパティ ダイアログ ボックスで、表示 タブを選択します。

  21. フォーム上のラベルの表示をクリアしてから OK を選択します。

  22. ホーム タブで、保存を選択してから、公開を選択します。

関連項目

モデル駆動型フォームの埋め込み型キャンバス アプリケーションを編集する
組み込みキャンバス アプリ内からホスト フォームで事前定義済みの操作を実行する
ModelDrivenFormIntegrationコントロールのプロパティとアクション
埋め込みキャンバス アプリの作業のガイドライン