URL を使用してアプリ、フォーム、ビュー、レポートを開く

URL アドレス指定可能な要素を使用すると、モデル駆動型アプリ、フォーム、ビュー、レポートへのリンクを他のアプリケーションに含めることができます。

ヒント

URL アドレス指定可能なアプリ、フォーム、ビュー、レポートはセキュリティをバイパスできません。 セキュリティ ロールに基づいて、ライセンスを受けた ユーザーだけが、表示されるデータとレコードにアクセスできます。

アプリの URL

ヒント

別のアプリケーションの IFrame 内にモデル駆動型アプリケーションを埋め込む機能はサポートされていません。 モデル駆動型アプリの埋め込みを参照してください。

AppModule.UniqueName 値または AppModule.AppModuleId 値を使用して、モデル駆動型アプリケーション開くことができます。

次のクエリを使用した Web API によって、これらの値を取得できます。

GET [Organization URI]/api/data/v9.1/appmodules?$select=appmoduleid,uniquename

詳細: Web API を使用するクエリ データ

一意の名前または AppModuleId 値で appnameappid のクエリ パラメーターのいずれかをそれぞれ使用できますが、両方を同時に使用できません。

一意の名前を使用する

一意の名前を使用してアプリを開くには、appname ページに main.aspx クエリ パラメーターを追加します。

https://myorg.crm.dynamics.com/main.aspx?appname={UniqueName}

たとえば、一意の名前が msdyn_SolutionHealthHubされている場合は、次の URL を使用してこのアプリを開くことができます。

https://myorg.crm.dynamics.com/main.aspx?appname=msdyn_SolutionHealthHub

AppModuleId を使用する

AppModuleId を使用してアプリを開くには、appid ページに main.aspx クエリ パラメーターを追加します。

https://myorg.crm.dynamics.com/main.aspx?appid={AppModuleId}

例:

https://myorg.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444

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

main.aspx ページには、すべてのフォームとビューが表示されます。 このページに渡すクエリ文字列パラメーターは、表示される内容を制御します。 例:

ID が {91330924-802A-4B0D-A900-34FD9D790829}のアカウントレコードフォームを開くには

https://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D  

クローズされた営業案件 ビューを開く場合:

https://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039  

ナビゲーション バーやコマンド バーなしで、 アクティブな連絡先 ビューを開くには

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

ヒント

  • アプリケーション内で Web リソースを使用してプログラムからフォームを開く際は、Xrm.Navigation.navigateTo または Xrm.Navigation.openForm を使用します。 window.openは使用しないでください。
  • ページが Xrm.Navigation.openForm または Xrm.Navigation.navigateTo 関数にアクセスできないアプリケーションの外部では、 window.open またはリンクを使用してテーブルの特定のレコードまたはフォームを開きます。 別のフォームに埋め込まれた IFrame 内のフォームの表示はサポートされていません。

通常、 getClientUrl メソッドを使用して、モデル駆動型アプリの組織のルート 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
システム ビューに使用します。 viewidsavedquery レコードの ID を表します。
- 4230
個人用ビューに使用します。 viewiduserquery レコードの ID を表します。
navbar サイト マップで定義されているエリアとサブエリアを使用して、ナビゲーション バーを表示するかどうか、およびアプリケーションのナビゲーションを使用可能にするかどうかを制御します。

-on
ナビゲーション バーが表示されます。 これは、navbar パラメーターが使用されていない場合の既定の動作です。
-off
ナビゲーション バーは表示されません。 ユーザーは、他のユーザー インターフェイス要素または [戻る] ボタンと [進む] ボタンを使用して移動できます。
-entity
フォームでは、関連テーブルのナビゲーション オプションのみが使用可能です。 関連テーブルへの移動の後は、ナビゲーション バーに戻るボタンが表示され、元のレコードに戻ることができます。

大事な: このパラメーターは、単一セッション のモデル駆動型アプリでのみサポートされます。 マルチセッションまたはワークスペース アプリには、カスタマーサービス ワークスペース、Copilot サービス ワークスペース、オムニチャネル for Customer Service などで影響しません。
cmdbar コマンド バーを表示するかどうかを制御します。 注: この機能は Unified Service Desk アプリケーションの要件をサポートしています。 このパラメーターを使用して、別のフォームに埋め込まれた IFrame 内のフォームを表示することはできません。

-true
コマンド バーが表示されます。 これが既定です。
- false
コマンド バーが非表示になります。

ビューの URL をコピーする

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

ヒント

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

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

ビューの URL を取得する
  1. 使用するビューを開きます。
  2. コマンド バーで、[ アクション] を選択し、[ リンクを電子メールで送信] を選択します。
  3. リンクをメモ帳に貼り付けて編集し、テキストから必要な URL 部分のみ抽出します。

ヒント

  • ユーザー コンテキストをパラメーターとして使用するビュー ( マイ アカウントなど) をコピーすることはできません。
    • システム テーブルのシステム ビューを表す GUID は、インストールごとに同じです。 カスタム テーブルとカスタム ビューの GUID は、インストールごとに一意です。

サイト マップを使用してアプリケーション ナビゲーションにビューを表示する

サイト マップを使用してアプリケーション ナビゲーションをカスタマイズする場合は、「ビューの URL をコピーして URL として設定する」の手順を使用して、アプリケーションからコピーした ビュー URL を使用しないでください。 この URL は、リボンを含むページを表示し、<SubArea> URL パラメーターで使用すると望ましくない結果になります。

アプリケーション内の SubArea のテーブル レコードの一覧を表示するには、テーブル列の値を設定します。 この値は、そのテーブルの既定のビューを表示し、正しいタイトルとアイコンを提供します。

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

Url="/main.aspx?appid=11112222-bbbb-3333-cccc-4444dddd5555&pagetype=entitylist&etn=account&viewid=%7b<GUID value of view id>%7d"

この URL を使用するときは、<Titles><Descriptions> に適切な値を指定し、テーブルのアイコンを指定する必要もあります。

ヒント

/main.aspx ページを使用してビューを指定した場合、ビュー セレクターは引き続き表示されます。 ユーザーがビューを変更した場合、ユーザーが最後に選択したビューがモデル駆動型アプリで記憶され、ブラウザーを閉じて次に開いたときに既定の初期ビューが表示されます。

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

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

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

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

helpID
このパラメータは任意です。 モデル駆動型アプリに含まれるレポートの場合、このパラメーターの値を使用すると、[このページヘルプ] が選択されたときに、このレポートに関する適切なコンテンツを表示できます。 値は、レポートの FileName 値に対応する必要があります。

ID
このパラメーターは、レポートの ReportId 値です。

次の例は、モデル駆動型アプリでレポートを開くために使用できる 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;  
}  

関連項目

フォームに渡すパラメーターを使用して列値を設定する
Xrm.Navigation.openUrl
カスタム クエリストリング パラメーターが許可されるフォームの構成
リボンのカスタマイズ
JavaScript を使用したクライアント スクリプト
Web リソース
SiteMap を使用したアプリケーション ナビゲーションの変更