URL を使用してフォーム、ビュー、ダイアログおよびレポートを開く

 

公開日: 2016年11月

対象: Dynamics CRM 2015

URL アドレス指定が可能な要素を使用すると、他のアプリケーションに Microsoft Dynamics 365 のフォーム、ビュー、ダイアログ、およびリポートへのリンクを含めることができます。 これにより、他のアプリケーション、レポート、または Web サイトを容易に拡張できるため、ユーザーはアプリケーションを切り替えなくても情報を表示したりアクションを実行したりできるようになります。

注意

  • URL アドレス指定が可能なフォーム、ビュー、ダイアログ、およびレポートは、Microsoft Dynamics 365 のセキュリティを回避することはできません。 セキュリティ ロールに基づいて、ライセンスを受けた Microsoft Dynamics 365 ユーザーだけが、表示されるデータとレコードにアクセスできます。

  • アプリケーション内で Web リソースを使用して、エンティティ フォームをプログラムで開くときは、Xrm.Utility.openEntityForm を使用します。window.open は使用しないでください。

  • ページが Xrm.Utility.openEntityForm 関数にアクセスできないそれ以外のアプリケーションでは、window.open またはリンクを使用してエンティティの特定のレコードまたはフォームを開きます。 アプリケーション全体が 更新されたエンティティ に対して開きます。

このトピックの内容

URL アドレス指定が可能なフォームとビュー

  • Main.aspx ページのクエリ文字列パラメーター

  • ビューの URL のコピー

  • サイト マップを使用したアプリケーション ナビゲーションへのビューの表示

URL を使用してダイアログ プロセスを開く

URL を使用してレポートを開く

URL アドレス指定が可能なフォームとビュー

すべてのエンティティ フォームとビューが main.aspx ページに表示されます。 このページに渡されたクエリ文字列パラメーターによって、表示される内容が制御されます。 たとえば、次のようになります。

  • 設置型 Microsoft Dynamics 365 の新しい取引先企業エンティティ レコード フォームを開く場合:

    http://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord
    
  • Microsoft Dynamics CRM Online の id が {91330924-802A-4B0D-A900-34FD9D790829} の取引先企業エンティティ レコード フォームを開く場合:

    http://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D
    
  • Microsoft Dynamics CRM Online の [クローズされた営業案件] ビューを開く場合:

    http://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039
    
  • ナビゲーション バーやコマンド バーなしで、Microsoft Dynamics CRM Online の [アクティブな連絡先] ビューを開くには

    http://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false
    

注意

showModalDialog または showModelessDialog を使用してダイアログ ウィンドウでエンティティ フォームを開くことはできません。

別のエンティティ フォームに埋め込まれた IFrame 内のエンティティ フォームを表示することはサポートされていません。

通常は、d7d0b052-abca-4f81-9b86-0b9dc5e62a66#BKMK_getClientUrl メソッドを使用して、設置型 Microsoft Dynamics 365とMicrosoft Dynamics CRM Online の両方の組織のルート URL を取得します。

Main.aspx ページのクエリ文字列パラメーター

ヒント

レコードの ID 値を取得するには、コマンド バーの[リンクの送信] ボタンを使用します。 電子メール アプリケーションで開かれる例を次に示します。

<http://mycrm/myOrg/main.aspx?etc=4&id=%7b899D4FCF-F4D3-E011-9D26-00155DBA3819%7d&pagetype=entityrecord>。

URL に渡される id パラメーターは、レコードのエンコードされた id 値です。 この例では、id 値は {899D4FCF-F4D3-E011-9D26-00155DBA3819} です。 GUID のエンコードされたバージョンは、開く中カッコ "{" と閉じる中カッコ "}" をそれぞれ "%7B" と "%7D" で置換します。

次に、エンティティ フォームやビューを開くために main.aspx ページで使用されるクエリ文字列パラメーターを示します。

パラメーター

説明

etn

エンティティの論理名。

重要

エンティティに整数コードを含む etc (エンティティの種類コード) パラメーターは使用しないでください。 この整数コードは、異なる組織のユーザー定義エンティティでは異なります。

extraqs

フォームではオプションです。 このパラメーターには、このパラメータ内のエンコードされたパラメーターが含まれます。

このパラメーターを使用してフォームに値を渡します。 詳細については、「フォームに渡すパラメーターを使用してフィールド値を設定する」を参照してください。

エンティティに複数のフォームが定義されている場合は、このパラメーターを使用して、フォームの ID 値と等しい値を持つエンコードされたパラメーター formid を渡すことで、開くフォームを指定できます。 たとえば、"6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf" という ID のフォームを開くには、extraqs パラメーターに formid%3D6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf%0D%0A という値を含めます。

pagetype

ページの種類です。 指定できる値は 2 つあります。

  • entityrecord

    エンティティ レコード フォームを表示します。

  • entitylist

    エンティティ ビューを表示します。

id

フォームではオプションです。 特定のエンティティ レコードを開く場合に使用します。 エンティティのエンコードされた GUID 識別子を渡します。 GUID のエンコードされたバージョンは、開く中カッコ "{" と閉じる中カッコ "}" をそれぞれ "%7B" と "%7D" で置換します。たとえば、{91330924-802A-4B0D-A900-34FD9D790829} は %7B91330924-802A-4B0D-A900-34FD9D790829%7D です。

viewid

ビューでは必須です。 これは、ビューを定義する savedquery または userquery エンティティ レコードの ID です。 ビューの URL を取得する最も簡単な方法は、その URL をコピーすることです。 詳細については、「ビューの URL のコピー」を参照してください。

viewtype

ビューの種類を定義します。 使用できる値は次のとおりです。

  • 1039

    システム ビューに使用します。viewidsavedquery レコードの ID を表します。

  • 4230

    個人用ビューに使用します。viewiduserquery レコードの ID を表します。

navbar

サイト マップで定義されているエリアとサブエリアを使用して、ナビゲーション バーを表示するかどうか、およびアプリケーションのナビゲーションを使用可能にするかどうかを制御します。

  • on

    ナビゲーション バーが表示されます。navbarパラメーターが使用されていない場合の既定の動作です。

  • off

    ナビゲーション バーが表示されません。 他のユーザー インターフェイス要素、または戻るボタンと進むボタンを使用して移動できます。

  • entity

    エンティティ フォームでは、関連するエンティティのナビゲーション オプションのみが利用可能です。 関連エンティティへの移動の後は、ナビゲーション バーに [戻る] ボタンが表示され、元のレコードに戻ることができます。

cmdbar

コマンド バーを表示するかどうかを制御します。

注意

この機能は Unified Service Desk for Microsoft Dynamics 365 アプリケーションの要件をサポートしています。
これを使用して別のエンティティ フォームに埋め込まれた IFrame 内のエンティティ フォームを表示することは、サポートされていません。

  • true

    コマンド バーが表示されます。 これが既定です。

  • false

    コマンド バーが非表示になります。

ビューの URL のコピー

Microsoft Dynamics 365 の多くのビューには、特定のビューの URL をコピーしたり、電子メールのメッセージに特定のビューの URL を埋め込んで送信したりできる機能が備えられています。 この機能により、ユーザー間のやり取りが容易になり、ユーザーが別のアプリケーション (SharePoint サイトなど) に含めることのできるビューの URL にもアクセスできるようになります。

注意

この URL は、サイト マップを使用してアプリケーション ナビゲーションにビューを含めるときは使用しないでください。 詳細については、「サイト マップを使用したアプリケーション ナビゲーションへのビューの表示」を参照してください。

URL で表示されるページにはビュー全体が含まれます。 これにはリボンが含まれますが、アプリケーション ナビゲーションは含まれません。

ビューの URL の取得

  1. 使用するビューを開きます。

  2. コマンド バーで、[リンクの送信] を選択し、次に [現在のビュー] を選択します。

  3. リンクをメモ帳に貼り付けて編集し、テキストから必要な URL 部分のみ抽出します。

注意

  • ユーザー コンテキストをパラメーターとして使用するビュー ([自分の取引先企業] など) はコピーできません。

  • システム エンティティのシステム ビューを表す GUID は、どの設置型バージョンの Microsoft Dynamics 365 をインストールした場合でも同じになります。 ユーザー定義エンティティおよびユーザー定義ビューの GUID は、Microsoft Dynamics 365 のインストールごとに一意になります。

サイト マップを使用したアプリケーション ナビゲーションへのビューの表示

サイト マップを使用してアプリケーション ナビゲーションをカスタマイズするときは、URL の設定に、「ビューの URL のコピー」の手順に従ってアプリケーションからコピーしたビューの URL を使用しないでください。 これはリボンを含むページを表示する URL であり、<SubArea> (SiteMap) Url 属性で使用すると望ましくない結果が生じます。

SubArea のアプリケーションに含まれるエンティティ レコードの一覧を表示するには、Entity 属性の値を設定します。 これにより、そのエンティティの既定のビューが正しいタイトルとアイコンで表示されます。

ただし、SubArea 要素の既定の初期ビューとして特定のビューを使用する場合は、次の Url のパターンを使用します。

Url=“/_root/homepage.aspx?etn=<entity logical name >&amp;viewid=%7b<GUID value of view id>%7d”

この URL を使用するときは、さらに、<Titles> (SiteMap)<Descriptions> (SiteMap) に適切な値を指定し、エンティティのアイコンを指定する必要があります。

注意

/_root/homepage.aspx ページを使用してビューを指定した場合も、ビュー セレクターは表示されます。 ユーザーがビューを変更した場合、ユーザーが最後に選択したビューが Microsoft Dynamics 365 で記憶され、ブラウザーを閉じて次に開いたときに既定の初期ビューが表示されます。

URL を使用してダイアログ プロセスを開く

一般的なカスタマイズは、ユーザーが特定のレコードのコンテキストで特定のダイアログ プロセスを開けるようにすることです。 たとえば、現在のレコードの id 値をダイアログ プロセスの入力パラメーターとして使用して、特定のエンティティのリボンにカスタム ボタンを追加できます。

ダイアログを開くには、以下が必要です。

  • ダイアログの一意識別子。

  • ダイアログの作成対象のエンティティの論理名。

  • ダイアログの実行対象のレコードの一意識別子。

ヒント

ダイアログの一意識別子を取得するには、[設定] に移動し、既定のソリューションで [プロセス] を選択します。 プロセスを選択し、コマンド バーの[アクション] オプションで、[リンクのコピー] を選択します。 これにより、たとえば [organization url]/sfa/workflow/edit.aspx?id=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d のように、ダイアログを編集するためのリンクがクリップボードにコピーされます。

次の例では、ダイアログを開くための URL とクエリ文字列パラメーターを示します。

[organization url]/cs/dialog/rundialog.aspx?DialogId=[dialog unique identifier]&EntityName=[entity logical name]&ObjectId=[unique identifier for the record]

たとえば、ID ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976}、取引先企業レコード ID = {40C9ADFD-90A8-DF11-840E-00155DBA380F} のダイアログを開くには、次の例の URL を使用します。

[organization url]/cs/dialog/rundialog.aspx?DialogId=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d&EntityName=account&ObjectId=%7b40C9ADFD-90A8-DF11-840E-00155DBA380F%7d

ヒント

Internet Explorer 以外のブラウザーでは、ダイアログ プロセスをリンクから開いた場合に、[完了]ボタンが機能しないことがあります。 この場合、データは保存されますが、ウィンドウの [閉じる] ボタンを選択しないとウィンドウが閉じません。 これは、他のブラウザーでは、別のウィンドウからJavaScriptを使用してウィンドウを開かなかった場合に window.close メソッドが提供されないためです。 可能なら、ダイアログ プロセスを開くときは、単にリンクを用意するのではなく、JavaScript と window.openメソッドを使用するようにしてください。

次の例に示すように、ダイアログを開くための JavaScript 関数を作成できます。

function openDialogProcess(dialogId, entityName, objectId)
{
 var url = Xrm.Page.context.getClientUrl() +
  "/cs/dialog/rundialog.aspx?DialogId=" +
  dialogId + "&EntityName=" +
  entityName + "&ObjectId=" +
  objectId;
 window.open(url);
}

URL を使用してレポートを開く

URL [organization url]/crmreports/viewer/viewer.aspx に適切なパラメーター値の渡すことでレポートを開くことができます。

この URL は、次のパラメーターを受け取ります。

  • アクション
    このパラメーターに可能な 2 つの値は run または filter のいずれかです。run が使用される場合、レポートは既定のフィルターを使用して表示されます。filter を使用する際、[レポートの実行] ボタンを選択してレポートを表示する前に、レポートにはユーザーが編集できるフィルターが表示されます。

  • helpID
    このパラメータは任意です。Microsoft Dynamics 365 に含まれているレポートでは、[このページのヘルプ] を選択すると、このパラメータの値は [ヘルプ] ボタンを使用してこのレポートについて適切な内容を表示できます。 値は、レポートの FileName 属性値に対応する必要があります。

  • id
    このパラメーターは、レポートの ReportId 属性値です。

次の例は Microsoft Dynamics 365でレポートを開くために使用できる URL を示します。

  • 既定のフィルターを使用して [放置されたサポート案件] レポートを開きます。

    [organization url]/crmreports/viewer/viewer.aspx?action=run&helpID=Neglected%20Cases.rdl&id=%7b8c9f3e6f-7839-e211-831e-00155db7d98f%7d
    
  • [上位のサポート情報記事] レポートを開いて、ユーザーにフィルターの値を設定すよう促します。

    [organization url]/crmreports/viewer/viewer.aspx?action=filter&helpID=Top%20Knowledge%20Base%20Articles.rdl&id=%7bd84ec390-7839-e211-831e-00155db7d98f%7d
    

次の機能は、適切に URL の値をエンコードする方法を示しています。

function getReportURL(action,fileName,id) {
 var orgUrl = GetGlobalContext().getClientUrl();
 var reportUrl = orgUrl + 
  "/crmreports/viewer/viewer.aspx?action=" +
  encodeURIComponent(action) +
  "&helpID=" +
  encodeURIComponent(fileName) +
  "&id=%7b" +
  encodeURIComponent(id) +
  "%7d";
 return reportUrl;
}

関連項目

クライアント アプリケーション拡張機能の記述
フォームに渡すパラメーターを使用してフィールド値を設定する
カスタム クエリストリング パラメーターが許可されるフォームの構成
SiteMap を使用したアプリケーション ナビゲーションの変更
コマンドおよびリボンをカスタマイズする
Microsoft Dynamics CRM 2015 フォームのコードを記述する
Microsoft Dynamics CRM 2015 の Web リソース
URL によるダイアログの起動

© 2017 Microsoft. All rights reserved. 著作権