Definieren von Menüband-Aktivierungsregeln
Veröffentlicht: November 2016
Gilt für: Dynamics CRM 2015
Wenn Sie Menübandelemente konfigurieren, können Sie bestimmte Regeln definieren, die steuern, wann die Menübandelemente aktiviert werden. Das <EnableRule> (RibbonDiffXml)-Element wird wie folgt verwendet:
Verwenden Sie das /RuleDefinitions/EnableRules/EnableRule-Element, um Regeln zu definieren, die steuern, wann das Menübandelement aktiviert werden soll.
Verwenden Sie das /CommandDefinitions/CommandDefinition/EnableRules/EnableRule-Element, um spezifische Aktivierungsregeln einer Befehlsdefinition zuzuordnen.
Was bedeutet "aktiviert"?
Mithilfe der Befehlsleiste werden Befehle ein- oder ausgeblendet. Mit dem Menüband sind deaktivierte Befehle zwar sichtbar, reagieren jedoch nicht auf Ereignisse.
Steuern, wann Menübandelemente aktiviert werden
Aktivierungsregeln sind zur Wiederverwendung gedacht Durch die Definition von Aktivierungsregeln mit Regeldefinitionen können Sie dieselbe Aktivierungsregel für viele Befehlsdefinitionen verwenden. Wenn mehrere Aktivierungsregeln für eine Befehlsdefinition definiert sind, müssen alle Aktivierungsregeln als "true" ausgewertet werden, damit das Menübandelement aktiviert wird.
Alle Aktivierungsregeln bieten ein optionales Attribut, um anzugeben, ob der Standardwert der Regel "true" oder "false" ist, und ein optionales InvertResult-Attribut, das ermöglicht, dass ein negatives Ergebnis zurückgegeben wird, wenn das getestete Element "true" zurückgibt.
Das /RuleDefinitions/EnableRules/EnableRule-Element unterstützt die folgenden Regeltypen:
<CommandClientTypeRule> (RibbonDiffXml)
Gibt eine Regel an, die den Typ der verwendeten Darstellung erkennt.Die Type-Werte entsprechen dem Folgenden:
Wert
Präsentation
Modern
Die Befehlsleiste wird mithilfe von Microsoft Dynamics CRM für Tablets dargestellt.
Refresh
Die Befehlsleiste wird mithilfe der aktualisierten Benutzeroberfläche angezeigt.
Legacy
Das Menüband wird in Formularen für Entitäten, die nicht aktualisiert wurden, oder in einer Listenansicht in Microsoft Dynamics CRM für Outlook angezeigt.
<CrmClientTypeRule> (RibbonDiffXml)
Ermöglicht die Definition von Regeln abhängig vom Typ des verwendeten Clients. Die Typoptionen lauten wie folgt:Web
Outlook
<CrmOfflineAccessStateRule> (RibbonDiffXml)
Verwenden Sie diese Kriterien, um ein Menübandelement abhängig davon zu aktivieren, ob Microsoft Dynamics CRM für Microsoft Office Outlook mit Offlinezugriff derzeit im Offlinemodus ist.<CrmOutlookClientTypeRule> (RibbonDiffXml)
Verwenden Sie diese Regel, wenn Sie eine Schaltfläche nur für rinrn spezifischen Microsoft Dynamics CRM für Outlook-Typ anzeigen möchten. Die Typoptionen lauten wie folgt:CrmForOutlook
CrmForOutlookOfflineAccess
<CustomRule> (RibbonDiffXml)
Verwenden Sie diese Art von Regel, um eine Funktion in einer JavaScript-Bibliothek aufzurufen, die einen Booleschen Wert zurückgibt.Hinweis
Benutzerdefinierte Regeln, die nicht schnell einen Wert zurückgeben, können sich auf die Leistung des Menübands auswirken. Wenn Sie Logik ausführen müssen, die möglicherweise einige Zeit in Anspruch nimmt, verwenden Sie die folgende Strategie, um Ihre benutzerdefinierte Regel asynchron zu machen:
-
Definieren Sie eine Regel, die ein benutzerdefiniertes Objekt überprüft. Sie können auf ein Objekt wie Window.ContosoCustomObject.RuleIsTrue prüfen, das Sie einfach an das Fenster anhängen.
-
Wenn dieses Objekt vorhanden ist, geben Sie es zurück.
-
Wenn das Objekt nicht vorhanden ist, definieren Sie das Objekt und legen Sie den Wert als "False" fest.
-
Bevor Sie einen Wert zurückgeben, verwenden Sie settimeout, um eine asynchrone Rückruffunktion auszuführen, um das Objekt zurückzusetzen. Geben Sie dann "False" zurück.
-
Nachdem die Rückruffunktion die Vorgänge durchgeführt hat, die nötig sind, um das richtige Resultat zu bestimmen, setzt sie den Wert des Objekts fest und verwendet die refreshRibbon-Methode, um das Menüband zu aktualisieren.
-
Wenn das Menüband aktualisiert ist, erkennt es das Objekt zusammen mit dem korrekten Wertesatz, und die Regel wird geprüft.
-
<EntityRule> (RibbonDiffXml)
Entitätsregeln lassen die Evaluierung der aktuellen Entität zu. Dies ist hilfreich, wenn Sie benutzerdefinierte Aktionen definieren, die für die Entitätsvorlage gelten, statt für bestimmte Entitäten. Beispielsweise möchten Sie möglicherweise ein Menübandelement für alle Entitäten hinzufügen, mit Ausnahme einiger bestimmter Entitäten. Es ist einfacher, die benutzerdefinierte Aktion für die Entitätsvorlage zu definieren, die für alle Entitäten gilt, und dann eine Entitätsregel zu verwenden, die die Entitäten herausfiltert, die ausgeschlossen werden sollen.Die Entitätsregel enthält auch ein optionales Kontextattribut, um anzugeben, ob die Entität im Formular oder in einer Liste angezeigt wird (HomePageGrid). Das optionale AppliesTo-Attribut kann auf PrimaryEntity oder SelectedEntity festgelegt werden, um zu unterscheiden, ob die Entität in einem Unterraster angezeigt wird.
<FormStateRule> (RibbonDiffXml)
Verwenden Sie die FormState-Regel, um den aktuellen Formulartyp zu bestimmen, in dem ein Datensatz angezeigt wird. Die Statusoptionen lauten wie folgt:Create
Existing
ReadOnly
Disabled
BulkEdit
<OrRule> (RibbonDiffXml)
Mit der OrRule-Regel können Sie den standardmäßigen UND-Vergleich für mehrere Aktivierungsregeltypen überschreiben. Verwenden Sie das OrRule-Element, um mehrere mögliche gültige Kombinationen zu definieren, die zu überprüfen sind.<OutlookItemTrackingRule> (RibbonDiffXml)
Verwenden Sie das TrackedInCrm-Attribut für dieses Element, um festzulegen, ob der Datensatz in Microsoft Dynamics 365 nachverfolgt wird.<OutlookVersionRule> (RibbonDiffXml)
Verwenden Sie diesl, um ein Menübandelement für eine bestimmte Version von Microsoft Office Outlook anzuzeigen wie folgt:2003
2007
2010
<PageRule> (RibbonDiffXml)
Diese Art von Regel überprüft, ob die URL der Seite angezeigt wird. Sie gibt "true" zurück, wenn die Address übereinstimmt.<RecordPrivilegeRule> (RibbonDiffXml)
Verwenden Sie diese Regel, um zu bestimmen, ob der aktuelle Benutzer über Rechte für einen bestimmten Datensatz verfügt. Diese Rechte unterscheiden sich von einem Entitätsrecht, da sie Rechte beinhalten können, die von einem anderen Benutzer erworben wurden, der den Datensatz gemeinsam mit dem aktuellen Benutzer verwendet.<SelectionCountRule> (RibbonDiffXml)
Verwenden Sie diese Art von Regel mit einem für eine Liste angezeigten Menüband, um eine Schaltfläche zu aktivieren, wenn bestimmte Höchst- und Mindestzahlen von Datensätzen in dem Raster ausgewählt werden. Zum Beispiel: Wenn Ihre Schaltfläche Datensätze zusammenführt, sollten Sie sicherstellen, dass mindestens zwei Datensätze ausgewählt werden, bevor das Menübandsteuerelement aktiviert wird.<SkuRule> (RibbonDiffXml)
Verwenden Sie diese Art von Regel, um ein Menübandelement für eine bestimmte SKU-Version von Microsoft Dynamics 365 wie folgt zu aktivieren:OnPremise
Online
Spla
<ValueRule> (RibbonDiffXml)
Verwenden Sie diese Regel, um den Wert eines bestimmten Felds im Datensatz zu suchen, der im Formular angezeigt wird. Sie müssen für die Prüfung das Field und den Value angeben.
Siehe auch
Anpassen von Befehlen und des Menübands
Menübandbefehle definieren
Definieren von Menüband-Anzeigeregeln
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright