リボンの表示ルールの定義

注意

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

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

リボン要素を構成する場合は、そのリボン要素をいつ表示するかを制御する特定のルールを定義できます。

  • リボン要素をいつ表示する必要があるかを制御するルールを定義するには、/RuleDefinitions/DisplayRules/<DisplayRule> 要素を使用します。
  • コマンド定義に対して特定の表示ルールを関連付けるには、/CommandDefinitions/CommandDefinition/DisplayRules/<DisplayRule> 要素を使用します。

リボン要素をいつ表示するかの制御

ルール定義と一緒に定義することで、同じ表示ルールを複数のコマンド定義で使用できます。 1 つのコマンド定義に対して複数の表示ルールを定義した場合、表示するリボン要素に対してすべての表示ルールを true と評価する必要があります。

すべての表示ルールには、ルールの既定値が true か false かを指定するためのパラメーター、およびテスト対象のアイテムが true を返す場合に負の結果を返せるようにするための InvertResult パラメーターがあります。どちらのパラメーターも省略可能です。

/RuleDefinitions/DisplayRules/DisplayRule 要素では、次の種類のルールがサポートされています。

<CommandClientTypeRule>

使用される表示の種類を検出するルールを指定します。

Type の値は、次に対応します。

Value プレゼンテーション
Modern コマンド バーは、Dynamics 365 for tablets を使用して表示されます。
Refresh コマンド バーは、更新されたユーザー インターフェイスを使用して表示されます。
Legacy リボンは、更新されなかったテーブルのフォーム、または Dynamics 365 for Outlookのリスト ビューで表示されます。

<CrmClientTypeRule>

使用されるクライアントの種類に応じてルールを定義できます。 Type のオプションは次のとおりです。

  • Web
  • Outlook

<CrmOfflineAccessStateRule>

オフライン Accessで Dynamics 365 for Microsoft Office Outlook が現在オフラインであるかどうかに基づいて、リボンの要素を表示するには、この条件を使用します。

<CrmOutlookClientTypeRule>

特定の種類の Dynamics 365 for Outlook でボタンを表示する場合は、このルールを使用します。 Type のオプションは次のとおりです。

  • CrmForOutlook
  • CrmForOutlookOfflineAccess

<CrmOutlookClientVersionRule>

最新バージョンの Microsoft Dynamics 365 for Microsoft Office Outlook を検出します。

有効な値:

  • 2003
  • 2007
  • 2010

<EntityPrivilegeRule>

この種類のルールは、テーブルに対する特定の特権がユーザーにある場合にリボン要素を表示するために使用します。 特権の階層および確認する特権を指定する必要があります。

<EntityPropertyRule>

特定のテーブルのプロパティのブール値に応じたルールの定義が可能です。 PropertyName のオプションは次のとおりです。

  • DuplicateDetectionEnabled
  • GridFiltersEnabled
  • HasStateCode
  • IsConnectionsEnabled
  • MailMergeEnabled
  • WorksWithQueue
  • HasActivities
  • IsActivity
  • HasNotes

<EntityRule>

このルールでは、現在のテーブルを評価できます。 これは、特定のテーブルではなくテーブル テンプレートに適用するユーザー定義のアクションを定義する場合に有効です。 たとえば、一部の特定のテーブルを除くすべてのテーブルへのリボン要素の追加が必要な場合があります。 すべてのテーブルに適用されるテーブル テンプレートのカスタムアクションを定義し、除外する必要のあるものは EntityRule を使ってフィルタリングする方が簡単です。

EntityRule には、テーブルをフォームで表示するか、リスト (HomePageGrid) で表示するかを指定するオプションのコンテキスト パラメータも含まれています。 オプションの AppliesTo パラメータに SelectedEntity または PrimaryEntity を設定することで、テーブルがサブグリッドで表示されているかどうかを区別することができます。

<FormEntityContextRule>

特定のエンティティのコンテキストにフォーム リボンが表示されるかどうかを検出するルールを指定します。

<FormStateRule

フォーム状態ルールは、レコードを表示している現在のフォームの種類を判断する場合に使用します。 State のオプションは次のとおりです。

  • 作成​​
  • 既存
  • 読み取り専用
  • 無効化
  • BulkEdit

<FormTypeRule>

Microsoft Dynamics 365 のフォームの種類を検出するルールを指定します。

Type の値は、次に対応します。

プレゼンテーション
Main アプリケーションに表示されるフォームです。
Preview グリッドの展開要素として表示されるテーブル プレビュー フォームです。
AppointmentBook サービス スケジュール ユーザー インターフェイスに appointment、equipment、serviceappointment、および systemuser テーブルを使用します。
Dashboard ダッシュボードはフォームを定義します。
Quick 簡易表示フォーム。
QuickCreate 簡易作成フォーム。

<HideForTabletExperienceRule>

Web アプリケーションをタブレット PC デバイスのモバイル ブラウザーで表示するときに false を返すルールを指定します。

<MiscellaneousPrivilegeRule>

この種類のルールは、特定のテーブルに適用しない特権 (ExportToExcel、MailMerge、または GoOffline など) を確認する場合に使用します。

<OrganizationSettingRule>

このルールは、組織の特定の設定が有効な場合にリボン要素を表示するために使用します。 Setting のオプションは次のとおりです。

  • IsSharepointEnabled
  • IsSOPIntegrationEnabled
  • IsFiscalCalendarDefined

<OrRule>

このルールを使用すると、複数の表示ルールの種類に対する既定の AND による比較を無効にすることができます。 確認のために使用可能な複数の有効な結合を定義するには、OrRule 要素を使用します。

<OutlookRenderTypeRule>

リボンが Outlook に特定の方法で表示される場合に、これを使用してリボン要素を表示します。 Type のオプションは次のとおりです。

  • Web
  • Outlook

<OutlookVersionRule>

このルールは、特定のバージョンの Outlook のリボン要素を表示する場合に使用します。 Version のオプションは次のとおりです。

  • 2003
  • 2007
  • 2010

<PageRule>

この種類のルールでは、表示されているページの URL を確認します。 アドレスが一致する場合は true を返します。

<ReferencingAttributeRequiredRule>

エンティティの参照属性が必要かどうかを検出するルール。

これは、非常に特殊なケースに対する非常に特殊なルールです。 このルールは、リレーションシップにバインドされたサブグリッドまたは関連グリッドがページ上にある場合に使用します。 このルールは、リレーションシップで使用される参照属性が必要かどうかをテストします。 このルールは、[既存のレコードの種類を追加] ボタンを表示することが適切でない場合に、非表示にするために使用します。

エンティティの関連付けでは、関連レコードの検索フィールド (参照属性) が必須である場合とそうでない場合があります。 たとえば、活動の関連フィールドは必須ではありませんが、営業案件の見込み顧客フィールドは必須です。 [既存の活動の追加] ボタンは、関連フィールドの値を現在のレコード コンテキストに設定し、関連フィールドに値がまだない場合にのみ機能します。 すべての営業案件レコードには見込み顧客フィールドに値があるため、[既存の営業案件の追加] ボタンを表示することは意味がありません。 このルールは、参照属性が必須であることを検出し、true を返します。

<RelationshipTypeRule>

この種類のルールは、グリッドで選択したレコードに適用されます。 このルールを使用すると、次に示すような関連付けの種類を判断できます。

  • OneToMany
  • ManyToMany
  • NoRelationship

<SkuRule>

この種類のルールは、次のような特定の SKU バージョンの Microsoft Dataverse のリボン要素を表示する場合に使用します。

  • OnPremise
  • Online
  • Spla

<ValueRule>

このルールは、フォームに表示されているレコード内の特定の列の値を確認する場合に使用します。

注意

更新したユーザー エクスペリエンスを使用してフォームのサブグリッドに対して定義されたコマンドには、値ルールは表示ルール内で使用することはできません。 <EnableRule> 内のこの要素を使用して、要素を隠します。

関連項目

コマンドとリボンのカスタマイズ
リボンの有効化ルールの定義
リボン アクションの定義

注意

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

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