ポータルの Dynamics 365 データを取得

Dynamics 365 Online 2016 更新プログラム 1 で導入されたポータル機能を囲む最も顕著な機能の 1 つは、Dynamics 365 データの表示—と操作—が可能であることです。 このセクションでは、この機能の基礎を提供するエンティティをプロファイルし、それを達成するために必要な手順について説明します。

エンティティ フォーム

エンティティ フォーム レコードを使用すると、管理者はポータルに Dynamics 365 フォームを表示して、ユーザーからのカスタマイズ可能なデータ セットを編集、表示、またはキャプチャすることができます。 これは比較的簡単且つ単純なプロセスであるため、ポータルを展開する前にそのような結果を得るために必要とされていたコードのカスタマイズの必要がなくなります。

この機能は、さまざまな理由やユースケースで活用することができますが、これの活用方法の一般的な例としては、Dynamics 365 システムのカスタマイズ インターフェイスの潜在顧客エンティティに新しいフォームを作成し、取引先担当者のページまたは何らかのタイプの情報要求ページを介して潜在顧客データをキャプチャするためにポータル上に表示させることができるエンティティ フォーム レコードを作成します。 実際、この特定の例は、Dynamics 365 (オンライン) リリースの 2016 年 12 月の更新で利用可能なポータル内の既定のお問い合わせページに使用されています。 他の例には、プロファイル管理または単一ページ調査のためのエンティティ フォームの使用が含まれます。

Dynamics 365 のお問い合わせ Web フォームが左側に、ポータルでの表示が右側にあります。

エンティティ フォームには、Web ページとの関連付け、およびポータル内のフォームの初期化を制御する追加プロパティが含まれています。 Web ページへの関連付けにより、ポータル Web サイト内の特定のページ ノードのフォーム定義を動的に取得できます。

新しいエンティティ フォームを作成する場合は、最初の手順として、モード: 挿入、編集、または読み取り専用とともに表示するエンティティおよびフォーム名を決めます。 選択したモードは、ポータルから新しいレコードを作成するか、既存のレコードを編集するか、ポータルのレコードに関する情報を表示するだけかを決定します。

このデモンストレーションでは、Contoso、Inc. が顧客セルフサービス ポータルに表示されるフォームにリンクされている Dynamics 365 でカスタム エンティティを作成し、ユーザーが会社へ希望する改善の提案を提出できるようにするシナリオを考えます。 Contoso、Inc. の管理者がこれを達成するために実行する手順は、次のとおりです。

  1. Dynamics 365 で、[構成] > [カスタマイズ] > [システムのカスタマイズ] > [エンティティ] の順に作成します。 この例では、エンティティを「提案」と呼びます。 [ポータル] ナビゲーション領域に表示するエンティティを設定し、保存します。

  2. Dynamics 365 では、フォーム上にキャプチャする必要がある情報に関連する提案エンティティの下に 2 つのカスタム フィールドを作成します。 この例では、SuggestionOrigin (オプション セット) と SuggestionSummary (複数行のテキスト) フィールドを作成します。 両方のフィールドが [必須項目] に設定されます。

  3. Dynamics 365 の提案エンティティの下で新しいメイン フォームを作成します。

    1. 1 列のタブを挿入し、セクションのプロパティを 2 列に変更します。

    2. 既存の [名前] フィールドに加えてカスタム フィールドを追加します。

    3. タブに「提案」と名前を付けます。

    4. [フォーム プロパティ] で、フォームに「提案フォーム」と名前を付けます。

    5. 保存して公開します。

      ポータルに表示するために Dynamics 365 でカスタム フォームを作成します。

  4. Dynamics 365 で、[ポータル] > [エンティティ フォーム] と移動し、新しいエンティティ フォーム レコードを作成します。 「提案」と名前をつけ、[エンティティ名] フィールドを「提案 (new_suggestion)」と設定し、フォーム名を「提案フォーム」と設定し、タブ名を「提案」と設定します。フォーム タイプを「挿入」とし、必要に応じて他のオプションを変更します。

  5. ポータルで、「提案」という名前の新しい子ページを作成します。 [ページ テンプレート] 値を [Web フォーム] に設定し、その [エンティティ フォーム] の値を「提案」と設定し、そのフォームに概要を追加します。

    注意

    子ページは、ユーザーの希望に応じて、Dynamics 365 を介して作成することもできます。

  6. ユーザーがフォームに簡単に移動できるようにするには、ポータルでプライマリ ナビゲーションを編集し、+ アイコンを選択してフォームへの新しい Web リンクを追加します。 Web リンクを「提案」と名前を付け、それを提案ページに割り当てます。

ユーザーが Contoso ポータルにアクセスし、このフォームに移動し、関連するデータを入力して送信すると、送信された情報で Dynamics 365 に新しいレコードが自動的に生成されます。

ポータルで表示されるカスタム提案フォーム。

エンティティ フォーム メタデータ

エンティティ フォーム メタデータ レコードには、Dynamics 365 のネイティブなエンティティ フォームの編集機能を使用して変更できなかったフォーム フィールドの機能を拡張または上書きする追加の動作変更ロジックが含まれます。

これらのレコードは、フィールド、サブグリッド、またはセクションやタブ全体を含む、フォーム上の特定の要素をさらに構成し、操作することが可能になります。 何らかのタイプの変更を必要とするフォームの各要素には、エンティティ フォーム レコードと関連付けられた別のメタデータ レコードが必要です。

エンティティ フォームにメタデータ レコードを追加するには、Dynamics 365 ナビゲーション メニューから [エンティティ フォームのメタデータ関連ビュー] に移動するか、エンティティ フォーム メタデータ サブグリッドをレコード フォームの最下部に向かって使用して、エンティティ フォーム自体から直接作成することもできます。

エンティティ フォーム メタデータ

エンティティ フォーム メタデータ レコードは、フィールドのスタイルの制御、特定の値でのフィールドの事前入力、保存時のフォーム上の値の設定、ユーザー入力値の検証など、さまざまなシナリオで使用できます。

エンティティ リスト

エンティティ フォーム レコードでポータル管理者は Dynamics 365 フォームをポータル ユーザーに公開できる一方で、エンティティ リストは、開発者がカスタム コードを使用してポータル上のビューを表示する必要なく、Dynamics 365 レコードのリストをレンダリングする Web ページをポータルに追加する機能を管理者に提供します。

エンティティ リストではソートとフィルター処理をサポートされており、レコード数がエンティティ リスト レコードで指定されたページ サイズ値よりも大きい場合はページ番号が付けられます。 また、詳細ビューの Web ページも指定されている場合は、各レコードには、ページ、および ID クエリ文字列パラメーター名が付いたクエリ文字列に追加されるレコードの ID へのリンクが含まれます。

また、エンティティ リストでは、複数のビューとアクションもサポートされています。 複数のビューが Dynamics 365 で指定されている場合、ドロップダウン メニューがエンド ユーザに表示され、さまざまなビューを切り替えることができます。 同様に、[編集] や [削除] などのアクションがアクション ボタンとして追加された場合、適切な権限を持つユーザーには、これらのオプションがビューに表示されます。

ユーザー提案を収集するエンティティ フォームを作成する前の Contoso, Inc. の管理者の例をもとに、ここで、管理者が (非常に単純化して) 他のユーザーがレビューし、新しいものを提出するために簡単にアクセスできるように、提出されたレコードをポータルに公開する手順を説明します。

  1. Dynamics 365 で、[構成] > [カスタマイズ] > [システムのカスタマイズ] > [エンティティ] > [提案] > [ビュー] の順に移動し、[アクティブな提案] ビューを編集します。 このビューにポータルで公開する列を追加します。

  2. [ポータル] > [エンティティ リスト] の順に移動し、新しいエンティティ リスト レコードを作成します。

    1. 提案リスト」の名前を入力し、エンティティ名を「提案 (new_suggestion)」に設定します。

    2. デフォルトの [アクティブな提案] ビューまたはカスタム作成ビューを [ビュー] リストに追加します。

    3. 作成する Web ページを「提案」に設定し、必要に応じて作成ボタンまたは空のリスト テキストを追加します。

      エンティティ リストの作成

  3. ポータルで、「提案リスト」という名前の新しい子ページを作成します。 [ページ テンプレート] を [フル ページ] に設定し、その [エンティティ リスト] を「提案リスト」に設定し、公開ビューに概要を追加します。

  4. 必要に応じて、ポータルでプライマリ ナビゲーションを編集し、リストに新しい Web リンクを追加するには [追加] ボタン (+) を選択します。 Web リンクを「提案リスト」と名前を付け、それを提案リスト ページに割り当てます。 新しいリスト リンクの下に以前に作成された「提案」フォームのリンクをドラッグすると、子供になることができます。

前に説明した単純化された設定以外にも、エンティティ リストには次のような多くのオプションがあります (ただしこれのみに限定されません)。

  • ユーザーがポータルのそれぞれのエンティティ内のレコードをフィルター処理して検索できるようにする。
  • ユーザーがレコードを作成、編集、または削除し、レコードを Excel ワークシートにダウンロードできるようにする。
  • ユーザーがリストで選択したレコードに対してオンデマンドのワーク フローを実行できるようにする。
  • データの Bing Map ビューを使用して、リストからレコードを表示する。
  • データのカレンダー ビューを使用して、リストからレコードを表示する。

Web フォーム

Web フォームを使用すると、エンティティ フォームとカスタム ロジックを Dynamics 365 内で定義して、カスタム コードを必要とせずにポータルにデータ入力フォームを表示できます。 Web フォームは、分岐ロジックに加えて、シングル ステップおよびマルチ ステップ ナビゲーションをサポートします。 Web フォームは、既成の「サポート案件の満足度調査」Web フォームなどのアンケートを作成するため、またはそのまま使用できる「新しいサポート要求のオープン」Web フォームなどの要求を容易にするために使用されます。

Web フォームは、管理者が単一のフォームを作成するために読み込まれる 1 つ以上のフォームや、条件分岐ロジックを備えたウィザード スタイルのマルチ ステップ プロセスを指定する点で、エンティティ フォームとは異なります。 また、Web フォームには、Dynamics 365 で指定できる追加のプロパティがあり、デフォルトの動作の一部を上書きし、Dynamics 365 エンティティのメタデータとフォーム デザイナーの制限を克服します。

ポータル内で Web フォームがどのように使用されるかを完全に把握するには、ユース ケース シナリオの例を提供し、フォームとその基礎となるすべての部分を構築するプロセスを実行することが最善の方法です。 このドキュメントの前半では、ユーザーが提案を提出するためのカスタム エンティティ フォームを作成するプロセスと、ポータルのビュー内にこれらの提案を公開するためのカスタム エンティティ リストを作成するプロセスを説明しました。 ここでは、提出された提案のうちどれを実装するのが望ましいか、それと同時にユーザー ベースに関する他の情報について、Contoso がユーザーを対象にアンケートを行うことを前提とします。 管理者がポータルでこのようなアンケートを設定する手順は、次のとおりです。

  1. [設定] > [カスタマイズ] > [システムのカスタマイズ] > [エンティティ] の順にカスタム エンティティを作成します。 この例では、エンティティを「アンケート」と呼びます。

  2. [ポータル] ナビゲーション領域に表示するエンティティを設定し、保存します。

  3. アンケート」エンティティの下にいくつかのカスタム フィールドを作成して、ユーザーが調査で選択できる回答を表示します。

    1. 管理者が用意した「Contoso の改善を今後図る上でどのような提案をされますか」という複数選択の質問に対して、「サポート時間の延長」、「新製品」、および「店舗の拡大」という 3 つのカスタム フィールドが用意されています。 各フィールドには、2 つのオプションのデータ タイプが設定されています。

    2. 管理者が「Contoso Ltd. についてどこで知りましたか」という複数選択の質問に対して、「小売店」、「検索エンジン」、「Web 広告」、「口コミ」の 4 つのカスタム フィールドが用意されています。 各フィールドには、2 つのオプションのデータ タイプが設定されています。

    3. データ タイプ [オプション セット] の [Contoso Ltd. 評価] というカスタム フィールド。 [既存のオプション セットの使用] については、[はい] を選択し、ドロップダウン リストでは [リッカート尺度の質] を選択します。

    4. アンケートに記入している現在のポータル ユーザーを追跡するには、データ タイプ [Lookup] の [関連の取引先担当者] というカスタム フィールドと [取引先担当者] のターゲット レコードを使用します。
  4. [アンケート] エンティティの下にある主要 [情報] フォームを開き、[概要] タブを選択し、[プロパティの変更] を選択します。 [書式設定] タブで、[1 列] を選択し、[OK] を選択します。

  5. [情報] フォームの [挿入] タブに切り替え、[セクション] を選択し、[2 列] を選択します。 既定の名前と所有者フィールドをこのセクションに移動し、古いフィールドを削除します。 名前フィールドのプロパティを開き、[表示] タブの [既定で表示する] をオフにします。

    アンケートの質問と回答を容易にするアンケート フォームを作成します。

  6. フォームを保存して、「アンケート手順 2」という名前のフォームのコピーを作成するためにリボンで [名前を付けて保存する] を選択します。 「アンケート手順 1」という名前のフォームのコピーを作成するために [名前を付けて保存する] をもう一度選択します。

  7. アンケート手順 1」フォームを開き、[挿入] タブに切り替え、[セクション] > [2 列] を選択します。

  8. 新しいセクションのプロパティを開き、「Contoso の将来の改善を図る上であなたの好きな提案は何ですか」というラベルに変更し、[このセクションのラベルをフォーム上に表示] オプションのチェック ボックスをオンにします。

  9. サポート時間の延長」、「新製品」、および「店舗の拡大」フィールドをこのセクションにドラッグします。

  10. 新しい 2 列セクションを追加する手順を繰り返します。しかし、ここでは、「Contoso Corporation Ltd. についてどこで知りましたか」というラベルに変更します。 そして、「小売店」、「検索エンジン」、「Web 広告」、および「口コミ」フィールドをこのセクションにドラッグします。

  11. 各フィールドのプロパティを開きます。 [書式設定] タブで、[書式の制御] を [チェック ボックス] に設定します。 フォームを保存して閉じます。

    ユーザーが回答する 2 つの質問が含まれているアンケート フォームの手順 1。

  12. アンケート手順 2」フォームを開き、[挿入] タブに切り替え、[セクション] > [1 列] を選択します。

  13. Contoso Ltd. 評価」フィールドを新しいセクションにドラッグし、フォームのフィールドのプロパティを開き、そのラベルを「弊社のパフォーマンスを評価をしてください。 Contoso LTd. のさまざまな一連製品の品質を評価してください] に変更します。 フォームを保存して閉じます。

  14. [調査フォーム] 領域で、[受注を構築する] > [メイン フォーム設定] の順に選択します。 これにより、情報 > 調査ステップ 1 > 調査ステップ 2 の順番で作業するフォームの順序を設定することができます。

  15. 主要な [情報] フォームと [挿入] タブで [セクション] > [2 列] の順に選択します。

  16. 新しいセクションのプロパティを開き、「Contoso の将来の改善を図る上であなたの好きな提案は何ですか」というラベルに変更し、[このセクションのラベルをフォーム上に表示] チェック ボックスをオンにします。 「サポート時間の延長」、「新製品」、および「店舗の拡大」フィールドをこのセクションにドラッグします。

    新しい 2 列セクションを追加する手順を繰り返します。しかし、ここでは、「Contoso Corporation Ltd. についてどこで知りましたか」というラベルに変更します。 そして、「小売店」、「検索エンジン」、「Web 広告」、および「口コミ」フィールドをこのセクションにドラッグします。 この時点までにフォームに追加された 7 つの各フィールドのプロパティを開き、[書式] タブを選択し、[書式の制御] を [チェック ボックス] に設定します。

    セクションを追加する手順を繰り返しますが、今回は 1 列セクションを選択します。 「Contoso Ltd. 評価」フィールドをこのセクションにドラッグし、フォームのフィールドのプロパティを開き、そのラベルを「弊社のパフォーマンスを評価をしてください。 Contoso LTd. のさまざまな一連製品の品質を評価してください」に変更します。

    最後に、[関連の取引先担当者] フィールドを [一般] タブの最初のセクションにドラッグして、どのユーザーが調査に記入したかを追跡します。 フォームを保存し、閉じてから、[すべてのカスタマイズの公開] を選択します。

    すべての調査項目が追加された主要な情報フォーム。

  17. [ポータル] > [Web フォーム] の順に移動し、「Contoso Ltd. アンケート」という新しい Web フォームを作成します。 [認証必須] フィールドを [はい] に設定し、[複数のレコードを 1 人のユーザーに許可する] フィールドを [いいえ] に設定します。 フォームを保存しますが、開いたままにします。

  18. 「Contoso Ltd. 調査」Web フォーム レコード:

    1. [ステップの開始] の検索フィールドを開き、[新規] を選択し、新しい Web フォームのステップを作成します。
    2. その手順に「調査ステップ 1」と名前を付けます。
    3. ターゲット エンティティの論理名を「調査 (new_survey)」に設定します。
    4. フォーム名を「調査ステップ 1」と設定します。
    5. [現在のポータル ユーザーを関連付ける] チェック ボックスを選択します。
    6. 関連の取引先担当者 (new_regardingcontact)」にターゲット エンティティ用ポータル ユーザー検索属性を設定します。
    7. フォームを保存しますが、開いたままにします。

      調査フォームの最初のステップが作成されました。

  19. 「調査ステップ 1」Web フォームの手順レコード:

    1. [次のステップ] の検索フィールドを開き、[新規] を選択し、新しい Web フォームのステップを作成します。
    2. その手順に「調査ステップ 2」と名前を付けます。
    3. Web フォームを「Contoso Ltd. 調査」に設定します。
    4. ターゲット エンティティの論理名を「調査 (new_survey)」に設定します。
    5. モードを「編集」に設定します。
    6. フォーム名を「調査ステップ 2」と設定します。
    7. ソースの種類を「前の手順によって起こる」に設定します。
    8. 成功したことを示すメッセージ「調査にご協力いただき、ありがとうございます」に設定します。
    9. [次のステップ] フィールドが空であり、フォームを保存しますが、開いたままにします。
  20. 「調査ステップ 2」Web フォームの手順レコード:

    1. メインの Dynamics 365 ナビゲーションで右端のシェブロンを選択し、[メタデータ] を選択して、「調査ステップ 2」レコードの下にある Web フォーム メタデータ関連ビューを開きます。
    2. [新しい Web フォーム メタデータを追加] を選択し、この新しいレコードで [属性論理名] を「Contoso Ltd. 評価 (new_contosoltdrating)」に設定して、[スタイル] を「横ラジオ ボタン リストとして設定されるオプション」に設定します。
    3. 開いたフォームのすべてを保存して閉じます。

      調査フォームの第 2 ステップが作成されました。

  21. Dynamics 365 で [ポータル] > [Web ページ] の順に移動し、「Contoso Ltd. 調査」という新しい Web ページを作成します。 Web サイトを「Contoso Ltd.”」に、親ページを「ホーム」に、部分 URL を「contoso-ltd-survey」に、ページ テンプレート を「フル ページ」に、公開国を「公開済み」に、Web フォームを先に作成した「Contoso Ltd. 調査」に設定します。 レコードを保存します。

確かに、これらのステップは非常に複雑であり、結果を達成するためには、複数の Dynamics 365 レコードが互いに連携して動作する必要があります。 ただし、プロセスが完了した後、ユーザーはポータルで作成したページに移動し、意図したとおりに調査に記入することができます。

ポータルに表示された調査フォームの最初のステップ..

ポータルに表示された調査フォームの第 2 のステップ。

入力が完了した各調査は、Dynamics 365 で [ポータル] > [調査] エンティティ内の順にレコードになり、このレコードには、Web フォームの入力とその集計に対するすべての回答の入力を完了した取引先担当者が含まれます。

フォーム要素のレンダリング

ほとんどの Dynamics 365 フォームはポータルで正しく表示されますが、一部の機能は実際のエンティティ フォームでの表示を処理する Dynamics 365 EntityFormView コントロールではサポートされていません。

サポートされているフォーム要素 サポートされているが、注意事項にフォーム要素がサポートされている サポートされていないフォーム要素
すべての Dynamics 365 フィールド検証ルール 関係者リスト フィールドを除く、すべての Dynamics 365 フィールドの種類 フォームのヘッダーおよびフッターは、ポータルには表示されない
単一および複数列のレイアウト両方 「Web ページ (HTML)」や画像関連の Web リソースの種類のみサポートされている iFrame
Dynamics 365 ラベル言語の翻訳 検索フィールドでのレコードのフィルター処理は N:1 の関連付けのみでサポートされている Dynamics 365 フォーム スクリプト
メモ (フォームに挿入済み) 検索フィールドはサポートされているが、フォームの検索ビューで新しいレコードを作成することはサポートされていない
サブグリッド (フォームに挿入済み)

最後に、Dynamics 365 のエンティティ フォーム レコードには、[ファイルの添付] オプションのセクションを含め、必要に応じて細かく調整できるオプションが用意されていることに言及することは重要です。 フォームに添付ファイルが必要な場合、[ファイルの添付] チェック ボックスを選択し、Dynamics 365 添付ファイル表示Azure BLOB ストレージ のどちらかから [ファイルの記憶域の場所を添付] オプションをコンフィギュレーションします。