次の方法で共有


利用できるリボン

注意

このトピックは、従来のコマンドに関するものです。

コマンドを定義する新しい方法があります。 最新コマンドの概要 (プレビュー).

この記事では、モデル駆動型アプリでリボンを定義および変更する場所について説明します。

リボン定義

モデル駆動型アプリには、アプリケーションのすべてのリボンについて既定の <RibbonDiffXml> 定義が含まれています。 組織のリボンを定義している現在の XML をエクスポートおよび表示することはできますが、XML を直接更新することはできません。 リボンをカスタマイズするには、リボンをどのように変更するかを定義します。 指定した変更定義は、リボンがアプリケーションに表示される際に適用されます。 すべての変更は、<CustomAction> 要素または <HideCustomAction> に含めます。 これらの要素は、モデル駆動型アプリが提供する既定のリボン定義よりも優先して適用されます。

変更定義を記述する場合は、既定のリボンの定義を頻繁に参照する必要があります。 たとえば、特定のリボン要素を非表示にする場合は、その要素の一意の ID を知る必要があります。 新しいリボン要素を既存のリボン要素の中または横に配置する場合は、それらの要素の ID 値と、要素の相対位置を制御するシーケンス順序を知る必要があります。

このように、既存のリボン要素の定義を参照する必要があるため、組織の現在のリボン定義を理解することは重要です。 リボンの現在の状態を表す XML ファイルのエクスポートに使用できるメッセージは 2 つあります。 これらの定義には、既にシステムに適用されているすべてのカスタマイズが含まれているので、以前適用されたすべてのユーザー定義リボンをカスタマイズできます。 詳細については、「リボン定義のエクスポート」を参照してください。

作業を開始するために、リボン定義のサンプルをエクスポート からモデル駆動型アプリの既定のリボン定義をダウンロードできます。 The ExportedRibbonXml ファイルには、組織に必要な出力ファイルが含まれています。

エクスポートされたリボン XML ファイルの中で、applicationRibbon.xml ファイルには、特定のテーブルに対して定義されていないすべてのリボンが含まれます。 これらのリボンは、アプリケーション リボンソリューション コンポーネントに対応しています。 テーブルごとに、テーブル名ribbon.xml ファイルがあります。 これは、各テーブルに含まれる RibbonDiffXml に対応しています。 特定のテーブルのリボンを編集する場合は、そのテーブルのリボン XML ファイルを見つける必要があります。

テーブル リボン

すべてのテーブルで、テーブル リボン テンプレート と呼ばれる共通のリボン定義が使用されます。 テーブル リボン テンプレート定義は、applicationribbon.xml ファイル内にあります。 カスタム テーブルを作成した場合、表示されるリボンは、テーブル リボン テンプレートによって定義された既定のリボンです。 各システム テーブルには、テーブル リボン テンプレート定義に基づいて作成された個々の <RibbonDiffXml> 定義があります。

applicationribbon.xml ファイル内には、すべてのテーブルに適用される以下のタブがあります:

  • Mscrm.Form.{!EntityLogicalName}.MainTab

    タブは、テーブル表示名をラベルに表示します。

  • Mscrm.Form.{!EntityLogicalName}.Related

    追加というラベルを持つタブ。

  • Mscrm.Form.{!EntityLogicalName}.Developer

    カスタマイズというラベルを持つタブ。

  • Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab

    タブは、複数のテーブル表示名をラベルに表示します。

  • Mscrm.HomepageGrid.{!EntityLogicalName}.View

    表示というラベルを持つタブ。

  • Mscrm.HomepageGrid.{!EntityLogicalName}.Related

    追加というラベルを持つタブ。

  • Mscrm.HomepageGrid.{!EntityLogicalName}.Developer

    カスタマイズというラベルを持つタブ。

  • Mscrm.SubGrid.{!EntityLogicalName}.ContextualTabs

    フォームまたはグラフのサブ グリッドにフォーカスがある場合は、リスト ツールというラベルを持つ状況依存のタブが表示されます。

    • Mscrm.SubGrid.{!EntityLogicalName}.MainTab

      タブは、複数のテーブル表示名を表示します。

    特定のテーブルのリボン定義を表示すると、通常は、テーブルの名前が {!EntityLogicalName} トークンに置き換わることがわかります。 特定のテーブルのリボン定義で、{!EntityLogicalName} トークンを表示すると、そのテーブルに対する特定の定義はなく、単にテーブル リボン テンプレートの定義を使用することを意味します。 特定のテーブルにリボンを定義した場合は、常に実際のテーブル名が使用されます。 特定のテーブルのリボンの変更は、//ImportExportXml/Entities/Entity/RibbonDiffXml ノードで定義する必要があります。

    RibbonDiffXml ノードでテーブルの論理名の代わりにトークン {!EntityLogicalName} を代用するアプリケーション リボンへの変更を定義することで、すべてのテーブルに適用する変更を行うことができます。 すべてのテーブルに対して定義されているアプリケーション リボンへの変更は、ImportExportXml/RibbonDiffXml ノードで定義する必要があります。 特定のテーブルの RibbonDiffXml ノードで定義することはできません。

グリッド リボン

テーブル グリッド リボンは、Mscrm.HomepageGrid.<entity logical name> で始まる ID 値を持つタブのコレクションです。 たとえば、取引先企業テーブル グリッドに "Accounts" というテキストを持つタブは Mscrm.HomepageGrid.account.MainTab です。 取引先企業テーブル グリッドに表示されるすべてのタブは、Mscrm.HomepageGrid.account で始まる ID 値を持ちます。

サブグリッド リボン

テーブル サブグリッド リボンは、Mscrm.SubGrid.<entity logical name> で始まる ID 値を持つタブのコレクションで構成されるコンテキスト グループです。 たとえば、取引先企業テーブル サブグリッドに "Accounts" というテキストを持つタブは Mscrm.SubGrid.account.MainTab です。

テーブルのレコードのリストが別のテーブルのフォームまたはグラフのサブグリッド内に表示される場合、サブグリッドの上部または内で直接使用できるコントロールは 3 種類のみです。 これらのコントロールの動作は、関連付けられているコマンドの変更で、変更できます。

  • 追加: 追加ボタンを使ったコマンドの既定の動作です。 アイコンは、サブグリッド内のレコードが現在のレコードに関連しているかどうかで決まります。

    レコードが現在のレコードに関連する場合、既定動作では既存レコードを探します。 既存のレコードを検索できない場合、またはユーザーが新しいレコードを作成するときには、新規追加を選択できます。

    レコードが現在のレコードに関連していない場合、既定動作では新しいレコードを追加します。 テーブルに簡易作成フォームがある場合、これが表示されますが、他の場合には、新しい完全なフォームが表示されます。

    活動は、このパターンに対する例外です。 追加コマンドでは常に、活動のタイプが最初にプロンプトされます。

    注意

    Dynamics 365 のオフライン モードはカスタム テーブルの多対多の関連付けをサポートしていません。 このため、Dynamics 365 のオフライン モードではサブグリッドの新規追加ボタンは表示されません。

  • リストを表示: コマンドでビュー ボタンを開きます。 アイコンをクリックすると、利用可能なすべてのコマンドが表示されます。

    サブグリッドが現在のレコードに関連付けられている場合、このコマンドの既定動作は、関連ビューをオープンすることです。

    サブグリッドが現在のレコードに関連付けられていない場合、このコマンドの既定動作は、メインリストビューのビューをオープンすることです。

  • 削除: サブリスト削除アイコンです。 アイコンは、リストのレコードにカーソルを置くと、行の右側に表示されます。

    1:N の関連付けのレコードまたは関連付けがないレコードの場合、既定動作はレコードを削除することです。 関係構成のために許可されていない場合、削除はブロックされている可能性があります。 オープンしている活動および請求書は、関連構成のために削除されない可能性があるレコードで共通の例です。

    N:N の関連付けを示す関連付けの場合、既定動作は、レコード自体ではなく、レコードをつなぐ関連付けを削除することです。

    <CommandDefinition>を使用してコマンドに関連付けられたアクションを変更することで、既定動作を変更できますが、コマンドの名前を変更することはできません。 たとえば、削除動作は、レコードを削除するのではなくレコードを非アクティブ化するように変更することはできます。

    これらのコマンドに対して表示されるアイコンを変更することはできません。 <HideCustomAction>を使用して、これらのコマンドを非表示にすることができます。

フォーム リボン

注意

この機能は、統一インターフェイスではサポートされていません。

テーブルごとに複数のフォームを持つことができます。 テーブル レベルでの定義を追加することにより、そのテーブルのすべてのフォームに対するフォーム リボンへの変更を定義できます (//ImportExportXml/Entities/Entity/RibbonDiffXml)。

テーブル フォームごとに固有のリボン定義を持つことができます。 エクスポートした customizations.xml ファイル内の //ImportExportXml/Entities/Entity/FormXml/forms/systemform/form/RibbonDiffXml の場所に、変更した <RibbonDiffXml> を追加する必要があります。

フォーム リボンは、Mscrm.Form.<entity logical name> で始まる ID 値を持つタブのコレクションです。 たとえば、取引先企業フォームに Account というラベルを持つタブは Mscrm.Form.account.MainTab です。 取引先企業フォームに表示されるすべてのタブは、Mscrm.Form.account で始まる ID 値を持ちます。

基本ホーム タブ

基本ホーム タブは、特定のページにタブを表示しないテーブル コンテキストまたは表示規則によって代替タブが定義されていない場合、常にメインのアプリケーション リボンに表示されます。 たとえば、モデル駆動型アプリのヘルプを表示すると、このタブが表示されます。 基本ホーム タブの ID は、Mscrm.BasicHomeTab です。

グローバル コマンドバーのカスタマイズ

Mscrm.GlobalTab にボタンを追加することで、グローバル コマンドバー (Mscrm.GlobalTab) をカスタマイズできます。 現在、グローバル コマンドバーのすぐに使用できるボタンは変更できませんが、新しいボタンを追加することはできます。

CustomAction の場所が Location="Mscrm.GlobalTab.New.Controls._children に設定されている場合、カスタム ボタンはページ上部のグローバル コマンドバーに表示されます。

注意

この機能は、統一インターフェイスでのみサポートされます。

その他のリボン

他に、特別な目的のリボン タブが複数と状況依存グループが 1 つ、モデル駆動型アプリによって定義されています。 各タブは、いつ表示されるかを制御する固有の <TabDisplayRule> と関連付けられています。 使用できるタブを次の表に示します。

タブ ルート ID 説明
Web リソース編集ページ タブ Mscrm.WebResourceEditTab ソリューション内で Web リソースを編集するときに表示されます。
フォーム エディター タブ Mscrm.FormEditorTab フォームに [保存]、[編集]、[選択]、および [表示] 操作グループを提供します。
フォーム エディター挿入タブ Mscrm.FormEditorInsertTab フォームにセクション、タブ、コントロールを挿入するためのボタンを提供します。
ダッシュボード ホームページ タブ Mscrm.DashboardTab [ワークプレース] 領域に表示されます。
ビジュアル化ツール状況依存グループ Mscrm.VisualizationTools テーブル グリッド リボンに表示される グラフ タブの 新規グラフ ボタンをクリックすると表示されます。
AptbookTab ホームページ タブ Mscrm.AptbookTab [サービス] 領域にサービス カレンダーを表示すると表示されます。
高度な検索タブ Mscrm.AdvancedFind 高度な検索ウィンドウに表示されます。
ダッシュボード エディター タブ Mscrm.DashboardEditorTab ダッシュボードを編集するときに表示されます。
ドキュメント タブ Mscrm.DocumentsTab 組織に対して SharePoint 統合が有効になっている場合、表示されます。
グラフ エディター タブ Mscrm.VisualizationDesignerTab ソリューション ウィンドウからグラフを編集するときに表示されます。
検索ツール状況依存グループ Mscrm.ArticleSearch KBarticle テーブルを表示すると表示されます。

カスタム ページのリボン

サイトマップを使用して、アプリケーション ナビゲーション内にカスタム ページを表示できます。 これらのページには、常に 基本ホーム タブ (Mscrm.BasicHomeTab) が表示されます。

<PageRule> を使用して、カスタム ページ上のカスタム リボン コンポーネントを有効化または表示することはできません。

関連項目

リボンのカスタマイズ
バーまたはリボンの表示

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。