Définir les règles d’activation du ruban
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> est utilisé comme suit :
Utilisez l’élément
/RuleDefinitions/EnableRules/EnableRulepour définir les règles contrôlant quand l’élément de ruban doit être activé.Utilisez l’élément
/CommandDefinitions/CommandDefinition/EnableRules/EnableRulepour associer des 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 :
Règle de type de client de commande
Utilise l’élément <CommandClientTypeRule>. 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 Dynamics 365 for tablets. |
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 Dynamics 365 for Outlook. |
Règle de type de client Crm
Utilise l’élément <CrmClientTypeRule> pour définir des règles selon le type de client utilisé. Les options type sont comme suit :
WebOutlook
Règle d’état d’accès hors connexion Crm
Utilise l’élément <CrmOfflineAccessStateRule>. Utilisez ce critère pour activer un élément de ruban selon que Dynamics 365 for Microsoft Office Outlook avec accès hors connexion est actuellement hors connexion.
Règle de type de client Outlook Crm
Utilise l’élément <CrmOutlookClientTypeRule>. Utilisez cette règle si vous souhaitez afficher uniquement un bouton pour un type spécifique Dynamics 365 for Outlook. Les options type sont comme suit :
CrmForOutlookCrmForOutlookOfflineAccess
Règle personnalisée
Utilise l’élément <CustomRule>. Utilisez ce type de règle pour appeler une fonction dans une bibliothèque JavaScript qui renvoie une Promise (Unified Interface) ou une valeur booléenne (Unified Interface et client web).
function EnableRule(executionContext)
{
var formContext = executionContext.getFormContext();
const value = formContext.getAttribute("column1").getValue();
return value === "Active";
}
Hinweis
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 (par exemple, une demande réseau), utilisez la stratégie suivante pour rendre votre règle personnalisée asynchrone.
Les règles Unified Interface prennent en charge le retour d’une Promise plutôt qu’une valeur booléenne à des fins d’évaluation de règle asynchrone. Si la promise échoue au bout de 10 secondes, la règle se résoudra avec une valeur False.
Hinweis
Les règles basées sur des promises s’exécutent uniquement sur Unified Interface, ainsi elles ne peuvent pas être utilisées si le client web classique est toujours utilisé.
function EnableRule()
{
const request = new XMLHttpRequest();
request.open('GET', '/bar/foo');
return new Promise(function (resolve, reject)
{
request.onload = function (e)
{
if (request.readyState === 4)
{
if (request.status === 200)
{
resolve(request.responseText === "true");
}
else
{
reject(request.statusText);
}
}
};
request.onerror = function (e)
{
reject(request.statusText);
};
request.send(null);
});
}
Règle d’entité
Utilise l’élément <EntityRule>. 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.
Règle d’état de formulaire
Utilise l’élément <FormStateRule>. Utilisez la règle FormState pour déterminer le type actuel de formulaire qui affiche un enregistrement. Les options d’état sont comme suit :
CreateExistingReadOnlyDisabledBulkEdit
Règle Ou
Utilise l’élément <OrRule>. 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.
Règle de suivi des éléments Outlook
Utilise l’élément <OutlookItemTrackingRule>. Utilisez l’attribut TrackedInCrm pour que cet élément détermine si l’enregistrement est suivi dans Dynamics 365 for Customer Engagement.
Règle de version Outlook
Utilise l’élément <OutlookVersionRule>. Utilisez cette option pour activer un élément du ruban pour une version spécifique de Office Outlook comme suit :
200320072010
Règles de page
Utilise l’élément <PageRule>. Ce type de règle vérifie l’URL de la page en cours d’affichage. Elle renvoie « true » si l’Address correspond.
Règle de privilège d’enregistrement
Utilise l’élément <RecordPrivilegeRule>. 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.
Règle de nombre de sélections
Utilise l’élément <SelectionCountRule>. 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.
Règle de référence
Utilise l’élément <SkuRule>. Utilisez ce type de règle pour activer un élément du ruban pour une version de référence (SKU) spécifique de Dynamics 365 for Customer Engagement comme suit :
OnPremiseOnlineSpla
Règle de valeur
Utilise l’élément <ValueRule>. 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
Hinweis
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).
Commentaires
Envoyer et afficher des commentaires pour