Un bouton de la barre de commandes est visible lorsqu’il doit être masqué
Article
S’applique à : Power Apps Numéro de base de connaissances d’origine : 4552163
Déterminer pourquoi un bouton est visible
Un bouton est rendu visible si toutes les règles d’activation et toutes les règles d’affichage sur la commande associée au bouton sont évaluées à true. S’il s’agit d’un événement inattendu, il est possible que la définition de commande ait été remplacée et qu’il manque des règles d’activation ou d’affichage, ou que les définitions de règles elles-mêmes soient remplacées et que le bouton soit visible lorsque vous vous attendez à ce qu’il soit masqué.
Ne supprimez pas la Mscrm.HideOnModern règle d’affichage d’une commande pour forcer l’affichage d’un bouton dans l’interface unifiée. Les commandes qui ont la Mscrm.HideOnModern règle d’affichage sont destinées à l’interface client web héritée et ne sont pas prises en charge dans l’interface unifiée et peuvent ne pas fonctionner correctement.
L’exemple suivant montre deux boutons Rendez-vous sur la page de grille d’activités, et l’un d’eux est censé être masqué.
Sélectionnez l’onglet Propriétés de la commande pour afficher les détails de la commande pour ce bouton. Cela affiche les actions, active les règles et affiche les règles, ainsi que le résultat (True, False, Ignoré) de chaque évaluation de règle. Passez en revue les règles d’activation et les règles d’affichage, si vous vous attendez à ce qu’une règle particulière évalue la valeur false, il est possible que la règle soit incorrectement personnalisée ou que les circonstances nécessaires pour retourner un faux résultat ne sont pas remplies. Si c’est le cas, passez à l’étape 9. Sinon, il est possible que la commande ne dispose pas d’une règle ou d’une règle et que nous allons afficher les couches de solution de commande pour une analyse plus approfondie.
Sélectionnez le lien des couches de solution Afficher la définition de commande sous le nom de la commande pour afficher la ou les solutions qui ont installé une définition de la commande.
Le volet Couches de solution affiche la couche de chaque définition de composant du ruban qu’une solution particulière a installée. La couche située en haut de la liste est la définition actuelle utilisée par l’application, les autres couches sont inactives et ne sont pas utilisées par l’application pour le moment. Si la solution supérieure est désinstallée ou qu’une version mise à jour est installée qui supprime la définition, la couche suivante devient la définition active actuelle utilisée par l’application. Lorsqu’une couche de solution active non managée est présente, il s’agit toujours de la définition utilisée par l’application. Si aucune solution active n’est répertoriée, la solution répertoriée en haut de la liste est la définition utilisée par l’application. Toutes les solutions gérées personnalisées qui ne sont pas publiées par Microsoft sont également prioritaires sur les couches de solutions publiées par Microsoft.
Le contexte d’entité indique l’objet sur lequel la personnalisation du ruban est activée, si « Toutes les entités » est répertoriée, la couche provient des extensions clientes du ruban d’application et non de l’entité, sinon le nom logique de l’entité est répertorié.
Lorsqu’il existe deux couches ou plus, vous pouvez sélectionner deux lignes et sélectionner Comparer pour afficher une comparaison des définitions introduites par chaque solution.
En sélectionnant Précédent , vous revenez à la fenêtre précédente du Vérificateur de commande.
S’il n’existe qu’une seule couche de solution, passez à l’étape 9, sinon, sélectionnez les deux couches de solution supérieures (si vous avez une couche dans la solution Active, mais qu’elle n’est pas répertoriée en haut, sélectionnez la couche Solution active, puis la ligne supérieure), puis sélectionnez Comparer.
La comparaison de la définition active actuelle et de la définition inactive précédente s’affiche en affichant les différences, le cas échéant. L’exemple suivant montre la définition Active non managée à personnaliser avec la suppression d’une règle Mscrm.HideOnModern d’affichage incluse dans la couche de solution publiée par Microsoft inactive msdynce_ActivitiesPatch .
L’approche nécessaire pour corriger la visibilité d’un bouton dépend des différentes personnalisations de votre scénario spécifique. Si vous avez déterminé qu’une règle est incorrectement évaluée sur false et si la définition de la règle est incorrectement définie, vous devez modifier la définition de la règle et apporter des modifications qui permettraient à la règle d’évaluer false dans les circonstances appropriées. Si la définition de la règle est correcte, il est possible que les exigences qui rendent le retour de règle false ne soient pas remplies, par exemple une valeur de champ ou un privilège de sécurité n’est pas correctement attribué. Selon la définition de votre règle, les exigences peuvent varier considérablement, reportez-vous à Définir des règles d’activation du ruban et définir des règles d’affichage du ruban. Compte tenu de notre exemple, la commande a été personnalisée avec la suppression d’une Mscrm.HideOnModern règle d’affichage. Cette règle d’affichage est destinée à masquer ce bouton particulier à s’afficher dans les applications d’interface unifiée et à être visible uniquement dans l’interface client web héritée. Nous pourrions modifier la version personnalisée de la commande et ajouter la Mscrm.HideOnModern règle d’affichage manquante à la définition de commande. Étant donné qu’il s’agit d’un remplacement personnalisé d’une définition publiée par Microsoft et qu’il n’existe aucune autre modification intentionnelle, il est recommandé de supprimer cette version personnalisée de la commande pour restaurer la fonctionnalité par défaut.
Options de réparation
Sélectionnez une option de réparation dans l’un des onglets ci-dessous. Le premier onglet est sélectionné par défaut.
S’il existe une autre couche de solution qui contient une définition de travail de cette commande, vous pouvez supprimer cette définition pour restaurer la définition de travail inactive suivante.
S’il s’agit de la seule couche et que vous n’avez plus besoin de la commande, vous pouvez la supprimer de votre solution si aucun autre bouton ne fait référence à la commande.
Sélectionnez l’une des options suivantes qui correspondent à votre scénario particulier :
La commande se trouve dans la solution Active non managée
Pour supprimer une commande dans la couche solution non managée Active , nous allons exporter une solution non managée contenant l’entité ou le ruban d’application et modifier le <RibbonDiffXml> nœud dans le fichier customizations.xml , puis importer une nouvelle version de cette solution dans laquelle cette commande a été supprimée pour supprimer le composant. Consultez Exporter, préparer la modification et importer le ruban.
La commande est spécifique à l’entité
En fonction de notre exemple de scénario, nous avons identifié l’entité est activitypointer et la commande qui doit être supprimée est Mscrm.CreateAppointment déclarée dans la couche de solution non managée Active à partir d’un éditeur nommé DefaultPublisherCITTest.
Ouvrez Paramètres avancés.
Accédez à Paramètres ->Solutions.
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active. (Dans notre exemple, il s’agit de DefaultPublisherCITTest).
Sélectionnez Entités>Ajouter un existant.
Sélectionnez l’entité sur laquelle votre commande est définie (dans notre exemple, il s’agit d’activitypointer) et sélectionnez OK.
Veillez à décocher les métadonnées d’entité Include et décochez Ajouter toutes les options de ressources avant de sélectionner Terminer.
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et localiser son nœud enfant <RibbonDiffXml> .
Recherchez le <CommandDefinition> nœud (Dans notre exemple, l’ID du <CommandDefinition> nœud est Mscrm.CreateAppointment, nous localisons donc le nœud suivant).
Modifiez le <RibbonDiffXml> nœud et supprimez le nœud spécifique <CommandDefinition> qui a l’ID de la commande que vous souhaitez supprimer. Veillez à ne pas supprimer involontairement d’autres <CommandDefinition> nœuds qui peuvent être présents. (En fonction de notre exemple, nous allons supprimer le <CommandDefinition> nœud dans lequel l’ID est Mscrm.CreateAppointment.)
Enregistrez le fichier customizations.xml .
Ajoutez le fichier customizations.xml modifié à la solution .zip fichier.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La commande se trouve dans le ruban d’application (s’applique à « Toutes les entités »)
Si la commande n’est pas spécifique à l’entité, elle s’applique plutôt à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes comme suit :
Ouvrez Paramètres avancés.
Accédez à Paramètres>Solutions
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active.
Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez le nœud racine <RibbonDiffXml> .
Recherchez le <CommandDefinition>.
Modifiez le <RibbonDiffXml> nœud et supprimez le <CommandDefinition> nœud qui a l’ID de la commande que vous souhaitez supprimer. Veillez à ne pas supprimer involontairement d’autres <CommandDefinition> nœuds qui peuvent être présents.
Enregistrez le fichier customizations.xml .
Ajoutez le fichier customizations.xml modifié à la solution compressée .zip fichier.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution gérée personnalisée que ma société a créée
Pour supprimer une commande installée par une solution gérée personnalisée que vous avez créée, procédez comme suit :
Dans votre organisation de développement distincte qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour la commande dans l’option de solution Active non managée.
Incrémentez la version de votre solution personnalisée.
Exporter la solution en tant que solution gérée.
Dans votre organisation affectée distincte, importez cette nouvelle version de votre solution managée personnalisée.
La commande provient d’une solution managée personnalisée que ma société n’a pas créée (à partir de tiers/ISV)
Pour supprimer une commande installée par une solution gérée personnalisée créée par un éditeur de logiciels tiers/éditeur de logiciels indépendants, vous devez contacter l’auteur de la solution et demander une nouvelle version de la solution qui a supprimé la définition de commande spécifique, puis installer cette nouvelle solution dans votre organisation concernée.
Comment ajouter des règles d’activation/d’affichage manquantes à la commande
S’il existe des modifications apportées à la commande que vous devez conserver, mais que vous souhaitez toujours que le bouton soit masqué dans les circonstances appropriées, vous pouvez ajouter les règles d’activation/d’affichage manquantes à la commande au lieu de supprimer la définition personnalisée.
Sélectionnez l’une des options suivantes qui correspondent à votre scénario particulier :
La commande se trouve dans la solution Active non managée
Si vous avez déterminé que les règles d’activation/d’affichage sont manquantes dans votre définition de commande, vous pouvez modifier le <CommandDefinition> nœud et ajouter les règles pour obtenir le comportement souhaité. Pour corriger une commande dans la couche de solution non managée Active , nous allons exporter une solution non managée contenant l’entité ou le ruban d’application et modifier le <RibbonDiffXml> nœud dans le fichier customizations.xml , puis importer une nouvelle version de cette solution contenant la définition de commande fixe. Consultez Exporter, préparer la modification et importer le ruban.
La commande est spécifique à l’entité
En fonction de notre exemple de scénario, nous avons identifié l’entité est activitypointer et la commande qui doit être corrigée est Mscrm.CreateAppointment et elle est déclarée dans la couche de solution non managée Active à partir d’un éditeur nommé DefaultPublisherCITTest.
Ouvrez Paramètres avancés.
Accédez à Paramètres>Solutions.
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active. (Dans notre exemple, il s’agit de DefaultPublisherCITTest)
Sélectionnez Entités>Ajouter un existant.
Sélectionnez l’entité sur laquelle votre commande est définie (dans notre exemple, il s’agit d’activitypointer) et sélectionnez OK.
Veillez à décocher les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et recherchez son nœud enfant <RibbonDiffXml> .
Recherchez le <CommandDefinition> nœud. Dans l’exemple, l’ID du <CommandDefinition> nœud est Mscrm.CreateAppointment. Par conséquent, vous trouverez le nœud suivant :
Modifiez le <RibbonDiffXml> nœud et apportez les modifications nécessaires au <CommandDefinition> nœud qui permettra à la commande de fonctionner correctement dans les circonstances appropriées pour corriger la commande. Pour plus d’informations sur la façon de déclarer des commandes, consultez Définir des commandes du ruban. (En fonction de notre exemple, nous allons modifier le <CommandDefinition> nœud en ajoutant la Mscrm.HideOnModern règle d’affichage qui masquera correctement ce bouton.)
Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La commande se trouve dans le ruban d’application (s’applique à « Toutes les entités »)
Si la commande n’est pas spécifique à l’entité, elle s’applique plutôt à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes comme suit :
Ouvrez Paramètres avancés.
Accédez à Paramètres>Solutions.
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active.
Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez le nœud racine <RibbonDiffXml> .
Recherchez le <CommandDefinition>.
Modifiez et apportez <RibbonDiffXml> les modifications nécessaires au <CommandDefinition> nœud qui permettra à la commande de fonctionner correctement dans les circonstances appropriées pour corriger la commande. Pour plus d’informations sur la façon de déclarer des commandes, consultez Définir des commandes du ruban.
Ajoutez le fichier customizations.xml modifié à la solution .zip fichier.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution managée personnalisée que j’ai créée
Pour corriger une commande installée par une solution gérée personnalisée que vous avez créée, procédez comme suit :
Dans votre organisation de développement distincte qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour la commande dans l’option de solution Active non managée.
Incrémentez la version de votre solution personnalisée.
Exporter la solution en tant que solution gérée.
Dans votre organisation affectée distincte, importez cette nouvelle version de votre solution managée personnalisée.
La commande provient d’une solution managée personnalisée que je n’ai pas créée ou que mon organisation ne possède pas (c’est-à-dire d’un tiers/éditeur de logiciels indépendants)
Pour corriger une commande installée par une solution gérée personnalisée créée par un éditeur de logiciels tiers/éditeur de logiciels indépendants, vous devez contacter l’auteur de la solution et demander une nouvelle version de la solution qui contient la définition de commande fixe et installer cette nouvelle solution dans votre organisation concernée.
La commande se trouve dans une solution gérée publiée par Microsoft
Pour corriger une commande installée par une solution managée publiée par Microsoft, vous devrez peut-être installer une version plus récente de la solution, qui serait généralement effectuée lors d’une mise à jour de version. Il est possible que vous ayez identifié un bogue qui doit toujours être résolu. Contactez le support client pour obtenir de l’aide.
Guide pratique pour corriger une règle d’activation/d’affichage
Sélectionnez le lien des couches de solution Afficher la définition de règle sous le nom de la règle pour afficher la ou les solutions qui ont installé une définition de la règle.
Le volet Couches de solution affiche la couche de chaque définition de composant du ruban qu’une solution particulière a installée. La couche située en haut de la liste est la définition actuelle utilisée par l’application, les autres couches sont inactives et ne sont pas utilisées par l’application pour le moment. Si la solution supérieure est désinstallée ou qu’une version mise à jour est installée qui supprime la définition, la couche suivante devient la définition active actuelle utilisée par l’application. Lorsqu’une couche de solution active non managée est présente, il s’agit toujours de la définition utilisée par l’application. Si aucune solution active n’est répertoriée, la solution répertoriée en haut de la liste est la définition utilisée par l’application. Toutes les solutions gérées personnalisées qui ne sont pas publiées par Microsoft sont également prioritaires sur les couches de solutions publiées par Microsoft.
Le contexte d’entité indique l’objet sur lequel la personnalisation du ruban est activée, si « Toutes les entités » est répertoriée, la couche provient des extensions clientes du ruban d’application et non de l’entité, sinon le nom logique de l’entité est répertorié.
Lorsqu’il existe deux couches ou plus, vous pouvez sélectionner deux lignes et sélectionner Comparer pour afficher une comparaison des définitions introduites par chaque solution.
En sélectionnant Précédent , vous revenez à la fenêtre précédente du Vérificateur de commande.
L’image suivante montre les couches de solution pour la règle d’activation dans notre exemple, et indique qu’il existe une couche de solution dans ce cas, et qu’il s’agit d’une personnalisation non managée, comme indiqué par la solution intitulée Active. Votre scénario réel peut différer, vous n’êtes peut-être pas une couche de solution active, vous pouvez avoir une solution managée et le nom de cette solution sera répertorié ici.
Maintenant que nous avons examiné les couches de solution et identifié la solution qui a installé la personnalisation, nous devons corriger la définition dans la solution appropriée.
Sélectionnez l’une des options suivantes qui correspondent à votre scénario particulier :
La règle d’activation/d’affichage se trouve dans la solution Active non managée
Pour corriger une règle d’activation/d’affichage dans la couche de solution non managée Active , nous allons exporter une solution non managée contenant l’entité ou le ruban d’application et modifier le <RibbonDiffXml> nœud dans le fichier customizations.xml , puis importer la nouvelle version de cette solution contenant la définition de règle d’activation/d’affichage fixe. Consultez Exporter, préparer la modification et importer le ruban.
La règle d’activation/d’affichage est spécifique à l’entité
En fonction de notre exemple de scénario, nous avons identifié l’entité comme contact et la règle d’activation qui doit être corrigée est new.contact.EnableRule.EntityRule et elle est déclarée dans la couche de solution non managée Active à partir d’un éditeur nommé DefaultPublisherCITTest.
Ouvrez Paramètres avancés.
Accédez à Paramètres>Solutions.
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution Du vérificateur de commandes pour la règle d’activation et la couche solution active. (Dans notre exemple, il s’agit de DefaultPublisherCITTest)
Sélectionnez Entités>Ajouter un existant.
Sélectionnez l’entité sur laquelle votre règle d’activation/d’affichage est définie (dans notre exemple, il s’agit d’un contact) et sélectionnez OK.
Veillez à décocher les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et localiser son nœud enfant <RibbonDiffXml> .
Recherchez la règle d’activation/d’affichage. Dans l’exemple, l’ID de la règle d’activation est new.contact.EnableRule.EntityRule. Par conséquent, vous trouverez le nœud suivant :
Modifiez le <RibbonDiffXml> nœud et apportez les modifications nécessaires à la règle d’activation/d’affichage qui permettra à la règle d’évaluer true dans les circonstances appropriées pour corriger la règle. Pour plus d’informations sur la façon de déclarer des règles, consultez Définir des règles d’activation du ruban et Définir des règles d’affichage du ruban. (En fonction de notre exemple, nous allons remplacer la définition de règle par la suivante)
Ajoutez le fichier customizations.xml modifié à la solution .zip fichier.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La règle d’activation/d’affichage se trouve dans le ruban d’application (s’applique à « Toutes les entités »)
Si la règle d’activation/d’affichage n’est pas spécifique à l’entité, elle s’applique plutôt à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes comme suit :
Ouvrez Paramètres avancés.
Accédez à Paramètres>Solutions.
Sélectionnez Nouveau pour créer une solution, définissez Publisher sur la valeur indiquée dans la liste des couches de solution du vérificateur de commandes pour la règle d’activation/d’affichage et la couche de solution active.
Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
Cliquez sur Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez le nœud racine <RibbonDiffXml> .
Recherchez la règle d’activation/d’affichage.
Modifiez le <RibbonDiffXml> nœud et apportez les modifications nécessaires à la règle d’activation/d’affichage qui permettra à la règle d’évaluer true dans les circonstances appropriées pour corriger la règle. Pour plus d’informations sur la façon de déclarer des règles, consultez Définir des règles d’activation du ruban et Définir des règles d’affichage du ruban.
Ajoutez le fichier customizations.xml modifié à la solution .zip fichier.
Importer le fichier de solution.
Sélectionnez Publier toutes les personnalisations.
La règle d’activation/d’affichage provient d’une solution gérée personnalisée que j’ai créée
Pour corriger une règle d’activation/d’affichage installée par une solution gérée personnalisée que vous avez créée, procédez comme suit :
Dans votre organisation de développement distincte qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour la règle d’activation/d’affichage dans l’option de solution Active non managée.
Incrémentez la version de votre solution personnalisée.
Exporter la solution en tant que solution gérée.
Dans votre organisation affectée distincte, importez cette nouvelle version de votre solution managée personnalisée.
La règle d’activation/d’affichage provient d’une solution gérée personnalisée que je n’ai pas créée ou que mon organisation ne possède pas (à partir d’un fournisseur tiers/éditeur de logiciels indépendants)
Pour corriger une règle d’activation/d’affichage installée par une solution managée personnalisée créée par un éditeur de logiciels indépendants/tiers, vous devez contacter l’auteur de la solution et demander une nouvelle version de la solution qui contient la définition de règle d’activation/d’affichage fixe et installer cette nouvelle solution dans votre organisation concernée.
La règle d’activation/d’affichage se trouve dans une solution gérée publiée par Microsoft
Pour corriger une règle d’activation/d’affichage installée par une solution managée publiée par Microsoft, vous devrez peut-être installer une version plus récente de la solution, qui serait généralement effectuée pendant une mise à jour de version. Il est possible que vous ayez identifié un bogue qui doit toujours être résolu. Contactez le support client pour obtenir de l’aide.