URL を使用してフォーム、ビュー、ダイアログ、およびレポートを開く
URL アドレス指定が可能な要素を使用すると、他のアプリケーションに Dynamics 365 Customer Engagement (on-premises) のフォーム、ビュー、ダイアログ、およびリポートへのリンクを含めることができます。 これにより、他のアプリケーション、レポート、または Web サイトを容易に拡張できるため、ユーザーはアプリケーションを切り替えなくても情報を表示したりアクションを実行したりできるようになります。
Note
- URL アドレス指定が可能なフォーム、ビュー、ダイアログ、およびレポートは、Dynamics 365 Customer Engagement (on-premises) のセキュリティを回避することはできません。 セキュリティ ロールに基づいて、ライセンスを受けた Dynamics 365 Customer Engagement (on-premises) ユーザーだけが、表示されるデータとレコードにアクセスできます。
URL アドレス指定が可能なフォームとビュー
すべてのエンティティ フォームとビューが main.aspx ページに表示されます。 このページに渡されたクエリ文字列パラメーターによって、表示される内容が制御されます。 たとえば、次のようになります。
設置型 Dynamics 365 Customer Engagement (on-premises) の新しい取引先企業エンティティ レコード フォームを開く場合:
https://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord
ID が {91330924-802A-4B0D-A900-34FD9D790829} の Dynamics 365 for Customer Engagement のアカウント エンティティ レコード フォームを開く:
https://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D
Dynamics 365 for Customer Engagement のクローズした営業案件ビューを開くには:
https://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039
ナビゲーション バーやコマンド バーなしで、Dynamics 365 for Customer Engagement のアクティブな連絡先ビューを開くには
https://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false
Note
showModalDialog または showModelessDialog を使用してダイアログ ウィンドウでエンティティ フォームを開くことはサポートされていません。
別のエンティティ フォームに埋め込まれた iFrame 内のエンティティ フォームを表示することはサポートされていません。
通常は、getClientUrl メソッドを使用して、オンプレミスの Dynamics 365 Customer Engagement (on-premises) と Dynamics 365 for Customer Engagement の両方について組織のルート URL を取得します。
Main.aspx ページのクエリ文字列パラメーター
チップ
レコードの ID 値を取得するには、コマンド バーのリンクの送信ボタンを使用します。 電子メール アプリケーションで開かれる例を次に示します。
<https://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 システム ビューに使用します。 viewid は savedquery レコードの ID を表します。- 4230 個人用ビューに使用します。 viewid は userquery レコードの ID を表します。 |
navbar |
サイト マップで定義されているエリアとサブエリアを使用して、ナビゲーション バーを表示するかどうか、およびアプリケーションのナビゲーションを使用可能にするかどうかを制御します。 - on ナビゲーション バーが表示されます。 これは、 navbar パラメーターが使用されていない場合の既定の動作です。- off ナビゲーション バーは表示されません。 他のユーザー インターフェイス要素、または戻るボタンと進むボタンを使用して移動できます。 - entity エンティティ フォームでは、関連するエンティティのナビゲーション オプションのみが利用可能です。 関連エンティティへの移動の後は、ナビゲーション バーに [戻る] ボタンが表示され、元のレコードに戻ることができます。 |
cmdbar |
コマンド バーを表示するかどうかを制御します。
注: この機能は Dynamics 365 アプリ用 Unified Service Desk の要件をサポートしています。 これを使用して別のエンティティ フォームに埋め込まれた IFrame 内のエンティティ フォームを表示することは、サポートされていません。 - true コマンド バーが表示されます。 これが既定です。 - false コマンド バーが非表示になります。 |
ビューの URL のコピー
Dynamics 365 Customer Engagement (on-premises) の多くのビューには、特定のビューの URL をコピーしたり、電子メールのメッセージに特定のビューの URL を埋め込んで送信したりできる機能が備えられています。 この機能により、ユーザー間のやり取りが容易になり、ユーザーが別のアプリケーション (SharePoint サイトなど) に含めることのできるビューの URL にもアクセスできるようになります。
Note
この URL は、サイト マップを使用してアプリケーション ナビゲーションにビューを含めるときは使用しないでください。 詳細については、「サイト マップを使用したアプリケーション ナビゲーションへのビューの表示」を参照してください。
URL で表示されるページにはビュー全体が含まれます。 これにはリボンが含まれますが、アプリケーション ナビゲーションは含まれません。
ビューの URL の取得
使用するビューを開きます。
コマンド バーで、リンクの送信をクリックし、次に現在のビューをクリックします。
リンクをメモ帳に貼り付けて編集し、テキストから必要な URL 部分のみ抽出します。
Note
- ユーザー コンテキストをパラメーターとして使用するビュー (自分の取引先企業など) はコピーできません。
- システム エンティティのシステム ビューを表す GUID は、どの設置型バージョンの Dynamics 365 Customer Engagement (on-premises) をインストールした場合でも同じになります。 ユーザー定義エンティティおよびユーザー定義ビューの GUID は、Dynamics 365 Customer Engagement (on-premises) のインストールごとに一意になります。
サイト マップを使用したアプリケーション ナビゲーションへのビューの表示
サイト マップを使用してアプリケーション ナビゲーションをカスタマイズするときは、URL の設定に、ビューに URL をコピーする の手順に従って、アプリケーションからコピーしたビューの URL を使用しないでください。
これはリボンを含むページを表示する URL であり、<SubArea>
Url 属性で使用すると望ましくない結果が生じます。
SubArea のアプリケーションに含まれるエンティティ レコードの一覧を表示するには、Entity 属性の値を設定します。 これにより、そのエンティティの既定のビューが正しいタイトルとアイコンで表示されます。
特定の初期設定ビューを使用する SubArea 要素が必要な場合は、統一インターフェイスで作業する際にに次の URL パターンを使用します。
[Organization Url]/main.aspx?pagetype=entitylist&etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d&viewType=1039
旧式のWebクライアントでは、次のURLを使用してください。
[Organization Url]/homepage.aspx?etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d
この URL を使用するときは、さらに、<Titles>
と <Descriptions>
に適切な値を指定し、エンティティのアイコンを指定する必要があります。
Note
.../homepage.aspx
ページを使用してビューを指定した場合も、ビュー セレクターは表示されます。 ユーザーがビューを変更した場合、ユーザーが最後に選択したビューが Dynamics 365 Customer Engagement (on-premises) で記憶され、ブラウザーを閉じて次に開いたときに既定の初期ビューが表示されます。
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 ={40C9ADFD-90A8-DF11-840E-00155DBA380F} を持つ ID ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976} でダイアログを開くには、次の例にある 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
このパラメータは任意です。 Dynamics 365 Customer Engagement (on-premises) に含まれているレポートでは、このページのヘルプを選択すると、このパラメータの値はヘルプボタンを使用してこのレポートについて適切な内容を表示できます。 値は、レポートの FileName
属性値に対応する必要があります。
id
このパラメーターは、レポートの ReportId
属性値です。
次の例は Dynamics 365 Customer Engagement (on-premises)でレポートを開くために使用できる 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;
}
関連項目
クライアントの Dynamics 365 Customer Engagement (on-premises) の拡張
フォームに渡すパラメーターを使用してフィールド値を設定する
カスタム クエリストリング パラメーターが許可されるフォームの構成
SiteMap を使用したアプリケーション ナビゲーションの変更
Dynamics 365 Customer Engagement (on-premises) のリボンのカスタマイズ JavaScript を使用した Customer Engagement のクライアント スクリプト Dynamics 365 Customer Engagement (on-premises) の Web リソース
URL によるダイアログの起動