Freigeben über


Definieren von Menüband-Aktivierungsregeln

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

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 365 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 365 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 365 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 365 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:

    1. 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.

    2. Wenn dieses Objekt vorhanden ist, geben Sie es zurück.

    3. Wenn das Objekt nicht vorhanden ist, definieren Sie das Objekt und legen Sie den Wert als "False" fest.

    4. 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.

    5. 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.

    6. 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

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright