リボン表示ルールを使用して、リボン要素が表示されるタイミングを制御し、コマンドが適切なクライアント、フォーム、テーブル、またはユーザー コンテキストでのみ表示されるようにします。
-
/RuleDefinitions/DisplayRules/DisplayRule要素を使用して、リボン要素を表示するタイミングを制御するルールを定義します。 -
/CommandDefinitions/CommandDefinition/DisplayRules/DisplayRule要素を使用して、特定の表示ルールをコマンド定義に関連付けます。
リボン要素を表示するタイミングを制御する
ルール定義と一緒に定義することで、同じ表示ルールを複数のコマンド定義で使用できます。 コマンド定義に対して複数の表示ルールを定義する場合、リボン要素を表示するには、すべての表示ルールが true と評価される必要があります。
すべての表示ルールには、ルールの既定値が true か false かを指定する省略可能なパラメーターと、テスト対象の項目が true を返したときに負の結果を返せるようにする省略可能な InvertResult パラメーターが用意されています。
/RuleDefinitions/DisplayRules/DisplayRule 要素では、次の種類のルールがサポートされています。
<CommandClientTypeRule>
使用される表示の種類を検出するルールを指定します。
Type の値は、次に対応します。
| 価値 | プレゼンテーション |
|---|---|
Modern |
コマンド バーは、Dynamics 365 for tablets を使用して表示されます。 |
Refresh |
コマンド バーは、更新されたユーザー インターフェイスを使用して表示されます。 |
Legacy |
リボンは、更新されていないテーブルのフォーム、またはOutlookのDynamics 365のリスト ビューに表示されます。 |
<CrmClientTypeRule>
使用するクライアントの種類に基づいてルールを定義します。
Type オプションは次のとおりです。
WebOutlook
<CrmOfflineAccessStateRule>
オフライン Accessで Dynamics 365 for Microsoft Office Outlook が現在オフラインであるかどうかに基づいて、リボンの要素を表示するには、この条件を使用します。
<CrmOutlookClientTypeRule>
特定の種類の Dynamics 365 for Outlook でボタンを表示する場合は、このルールを使用します。
Type のオプションは次のとおりです。
CrmForOutlookCrmForOutlookOfflineAccess
<CrmOutlookClientVersionRule>
最新バージョンの Microsoft Dynamics 365 for Microsoft Office Outlook を検出します。
有効な値:
200320072010
<EntityPrivilegeRule>
この種類のルールは、テーブルに対する特定の特権がユーザーにある場合にリボン要素を表示するために使用します。 特権の階層および確認する特権を指定する必要があります。
<EntityPropertyRule>
このルールを使用して、特定のテーブル プロパティのブール値に基づいてルールを定義します。
PropertyNameオプションは次のとおりです。
DuplicateDetectionEnabledGridFiltersEnabledHasStateCodeIsConnectionsEnabledMailMergeEnabledWorksWithQueueHasActivitiesIsActivityHasNotes
<EntityRule>
このルールを使用して、現在のテーブルを評価します。 このルールは、特定のテーブルではなくテーブル テンプレートに適用されるカスタム アクションを定義する場合に便利です。 たとえば、特定のテーブルを除くすべてのテーブルにリボン要素を追加できます。 すべてのテーブルに適用されるテーブル テンプレートのカスタム アクションを定義し、 EntityRule を使用して除外するものを除外する方が簡単です。
EntityRuleには、テーブルをフォームまたはリスト (HomePageGrid) に表示するかどうかを指定する省略可能なコンテキスト パラメーターが含まれています。 オプションの AppliesTo パラメーターを PrimaryEntity または SelectedEntity に設定して、テーブルがサブグリッドに表示されるかどうかを区別します。
<FormEntityContextRule>
特定のエンティティのコンテキストにフォーム リボンが表示されるかどうかを検出するルールを指定します。
<FormStateRule
フォーム状態ルールは、レコードを表示している現在のフォームの種類を判断する場合に使用します。
State のオプションは次のとおりです。
CreateExistingReadOnlyDisabledBulkEdit
<FormTypeRule>
Microsoft Dynamics 365 のフォームの種類を検出するルールを指定します。
Type の値は、次に対応します。
| 価値 | プレゼンテーション |
|---|---|
Main |
アプリケーションに表示されるフォームです。 |
Preview |
グリッドの展開要素として表示されるテーブル プレビュー フォームです。 |
AppointmentBook |
サービス スケジュール ユーザー インターフェイスに appointment、equipment、serviceappointment、および systemuser テーブルを使用します。 |
Dashboard |
ダッシュボードはフォームを定義します。 |
Quick |
簡易表示フォーム。 |
QuickCreate |
簡易作成フォーム。 |
<HideForTabletExperienceRule>
Web アプリケーションをタブレット PC デバイスのモバイル ブラウザーで表示するときに false を返すルールを指定します。
<MiscellaneousPrivilegeRule>
ExportToExcel、MailMerge、GoOffline など、特定のテーブルに適用されない権限を確認するには、このルールを使用します。
<OrganizationSettingRule>
特定の組織設定が有効になっている場合は、このルールを使用してリボン要素を表示します。 設定オプションは次のとおりです。
IsSharepointEnabledIsSOPIntegrationEnabledIsFiscalCalendarDefined
<OrRule>
このルールを使用して、複数の表示ルールの種類の既定の AND 比較をオーバーライドします。 確認のために使用可能な複数の有効な結合を定義するには、OrRule 要素を使用します。
<OutlookRenderTypeRule>
リボンが特定の方法でOutlook表示されている場合は、このルールを使用してリボン要素を表示します。
Typeオプションは次のとおりです。
WebOutlook
<OutlookVersionRule>
このルールを使用して、特定のバージョンのOutlookのリボン要素を表示します。
Versionオプションは次のとおりです。
200320072010
<PageRule>
このルールは、表示されているページの URL を確認します。 アドレスが一致する場合は true を返します。
<ReferencingAttributeRequiredRule>
エンティティの参照属性が必要かどうかを検出するルール。
このルールは、非常に具体的なケースに対するものです。 このルールは、リレーションシップにバインドされたサブグリッドまたは関連するグリッドがページにある場合に使用します。 このルールは、リレーションシップで使用される参照属性が必要かどうかをテストします。 [ 既存の レコードの種類の追加] ボタンを表示するのが適切でない場合は、このルールを使用して非表示にします。
エンティティ リレーションシップでは、関連レコード (参照属性) のルックアップ フィールドが必要かどうかが考えられます。 たとえば、アクティビティの [関連 ] フィールドは必要ありませんが、営業案件の [潜在顧客 ] フィールドが必要です。 [ 既存のアクティビティの追加 ] ボタンは、 関連 フィールドの値を現在のレコード コンテキストに設定し、[ 関連 ] フィールドに値がない場合にのみ機能します。 すべての営業案件レコードには潜在 顧客 フィールドに値があるため、[ 既存の営業案件の追加] ボタンを表示しても意味がありません。 このルールは、参照元の属性が必須であることを検出し、true を返します。
<RelationshipTypeRule>
グリッドで選択したレコードにこのルールを適用します。 このルールを使用すると、次に示すような関連付けの種類を判断できます。
OneToManyManyToManyNoRelationship
<SkuRule>
次のように、特定の SKU バージョンのMicrosoft Dataverseのリボン要素を表示するには、この規則を使用します。
OnPremiseOnlineSpla
<ValueRule>
このルールを使用して、フォームに表示されるレコード内の特定の列の値を確認します。
ヒント
更新されたユーザー エクスペリエンスを使用してフォームのサブグリッドに対して定義されたコマンドの場合、表示ルール内で値ルールを使用することはできません。
<EnableRule> 内のこの要素を使用して、要素を隠します。