Définir les règles d’activation du ruban
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Lorsque vous configurez les éléments du ruban, vous pouvez définir des règles spécifiques pour contrôler quand les éléments du ruban sont activés. L’élément <EnableRule> (RibbonDiffXml) est utilisé comme suit :
Utilisez l’élément /RuleDefinitions/EnableRules/EnableRule pour définir les règles contrôlant lorsque l’élément de ruban doit être activé.
Utilisez l’élément /CommandDefinitions/CommandDefinition/EnableRules/EnableRule pour associer les règles d’activation spécifiques à une définition de commande.
Qu’est-ce qu'« Activé » signifie ?
Avec la barre de commandes, les commandes qui sont désactivées sont masquées. Avec le ruban, les commandes qui sont désactivées sont visibles, mais ne répondent pas aux événements.
Contrôler lorsque les éléments du ruban sont activés
Les règles d’activation sont prévues pour être ré-utilisées. En les définissant avec les définitions de règle, vous pouvez utiliser la même règle d’activation pour plusieurs définitions de commande. Lorsque plusieurs règles d’activation sont définies pour une définition de commande, toutes les règles d’activation doivent être évaluées comme « true » pour que l’élément du ruban soit activé.
Toutes les règles d’activation offrent un attribut facultatif pour spécifier si la valeur par défaut de la règle est « true » ou « false » et un attribut InvertResult facultatif pour permettre le retour d’un résultat négatif si l’élément en cours de test renvoie « true ».
L’élément /RuleDefinitions/EnableRules/EnableRule prend en charge les types de relation suivants :
<CommandClientTypeRule> (RibbonDiffXml)
Spécifie une règle détectant le type de présentation utilisée.Les valeurs Type correspondent à ce qui suit :
Valeur
Présentation
Modern
La barre de commandes est présentée à l’aide de Microsoft Dynamics 365 pour tablettes.
Refresh
La barre de commandes est présentée à l’aide de l’interface utilisateur mis à jour.
Legacy
Le ruban est présenté dans les formulaires d’entités qui n’ont pas été mises à jour ou dans un affichage de liste dans Microsoft Dynamics 365 pour Outlook.
<CrmClientTypeRule> (RibbonDiffXml)
Permet de définir des règles selon le type de client utilisé. Les options type sont comme suit :Web
Outlook
<CrmOfflineAccessStateRule> (RibbonDiffXml)
Utilisez ce critère pour activer un élément de ruban selon que Microsoft Dynamics 365 pour Microsoft Office Outlook avec accès hors connexion est actuellement hors connexion.<CrmOutlookClientTypeRule> (RibbonDiffXml)
Utilisez cette règle si vous souhaitez afficher uniquement un bouton pour un type spécifique Microsoft Dynamics 365 pour Outlook. Les options type sont comme suit :CrmForOutlook
CrmForOutlookOfflineAccess
<CustomRule> (RibbonDiffXml)
Utilisez ce type de règle pour appeler une fonction dans une bibliothèque JavaScript qui renvoie une valeur booléenne.Notes
Les règles personnalisées qui ne renvoient pas une valeur rapidement peuvent avoir un impact sur les performances du ruban. Si vous devez effectuer une logique qui pourrait prendre du temps à exécuter, utilisez la stratégie suivante pour rendre votre règle personnalisée asynchrone :
-
Définissez une règle qui vérifie l’objet personnalisé. Vous pouvez vérifier un objet tel que Window.ContosoCustomObject.RuleIsTrue que vous joignez simplement à la fenêtre.
-
Si cet objet existe, renvoyez-le.
-
Si cet objet n’existe pas, définissez l’objet et définissez la valeur comme « false ».
-
Avant de renvoyer une valeur, utilisez settimeout pour exécuter une fonction de rappel asynchrone pour remettre à zéro l’objet. Puis renvoyez « false ».
-
Une fois que la fonction de rappel a effectué les opérations nécessaires pour déterminer le résultat correct, elle définit la valeur de l’objet et utilise la méthode refreshRibbon pour actualiser le ruban.
-
Lorsque le ruban est actualisé, il détecte l’objet ainsi que la valeur précise définie et la règle est évaluée.
-
<EntityRule> (RibbonDiffXml)
Les règles d’entité permettent l’évaluation de l’entité actuelle. Cette opération est utile lorsque vous définissez les actions personnalisées qui s’appliquent au modèle d’entité plutôt que pour des entités spécifiques. Par exemple, vous souhaitez ajouter un élément du ruban à toutes les entités, hormis pour plusieurs entités spécifiques. Il est plus facile de définir l’action personnalisée pour le modèle d’entité qui s’applique à toutes les entités, puis d’utiliser une règle d’entité pour filtrer celles qui doivent être exclues.La règle d’entité comprend aussi un attribut Context en option pour spécifier si l’entité est affichée dans le formulaire ou dans une liste (HomePageGrid). L’attribut facultatif AppliesTo peut être défini sur PrimaryEntity ou SelectedEntity pour distinguer si l’entité est affichée dans une sous-grille.
<FormStateRule> (RibbonDiffXml)
Utilisez la règle FormState pour déterminer le type actuel de formulaire qui affiche un enregistrement. Les options d’état sont comme suit :Create
Existing
ReadOnly
Disabled
BulkEdit
<OrRule> (RibbonDiffXml)
La OrRule vous permet de remplacer la valeur par défaut ET de comparer plusieurs types de règle d’activation. Utilisez l’élément OrRule pour définir plusieurs combinaisons valides possibles à vérifier.<OutlookItemTrackingRule> (RibbonDiffXml)
Utilisez l’attribut TrackedInCrm pour que cet élément détermine si l’enregistrement est suivi dans Microsoft Dynamics 365.<OutlookVersionRule> (RibbonDiffXml)
Utilisez cette option pour activer un élément du ruban pour une version spécifique de Microsoft Office Outlook comme suit :2003
2007
2010
<PageRule> (RibbonDiffXml)
Ce type de règle vérifie l’URL de la page en cours d’affichage. Elle renvoie « true » si l’Address correspond.<RecordPrivilegeRule> (RibbonDiffXml)
Utilisez cette règle pour déterminer si l’utilisateur actuel possède les privilèges sur un enregistrement spécifique. Ces privilèges diffèrent d’un privilège d’entité, car ils peuvent contenir des privilèges gagnés par un autre utilisateur partageant l’enregistrement avec l’utilisateur actuel.<SelectionCountRule> (RibbonDiffXml)
Utilisez ce type de règle avec un ruban affiché pour une liste pour activer un bouton lorsque des nombres max. et min. d’enregistrements spécifiques de la grille sont sélectionnés. Par exemple, si votre bouton fusionne des enregistrements, vous devez vous assurer qu’au moins deux enregistrements soient sélectionnés avant d’activer le contrôle du ruban.<SkuRule> (RibbonDiffXml)
Utilisez ce type de règle pour activer un élément du ruban pour une version de référence (SKU) spécifique de Microsoft Dynamics 365 comme suit :OnPremise
Online
Spla
<ValueRule> (RibbonDiffXml)
Utilisez cette règle pour vérifier la valeur d’un champ spécifique dans l’enregistrement affiché dans le formulaire. Vous devez spécifier le Field et la Value à vérifier.
Voir aussi
Personnaliser les commandes et le ruban
Définir les commandes du ruban
Définir les règles d’affichage du ruban
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright