Un bouton dans la barre de commandes est visible alors qu’il doit être masqué
Article
S’applique à : Power Apps Numéro de la 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 les règles d’affichage sur la commande associée au bouton ont la valeur true. Si cela est inattendu, il est possible que la définition de commande ait été remplacée et qu’il manque des règles d’activation ou des règles d’affichage, ou que les définitions de règles elles-mêmes soient remplacées et que le bouton soit visible lorsque vous prévoyez 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 la grille des activités, et l’un 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, les règles d’activation et les règles d’affichage, ainsi que le résultat (True, False, Ignoré) de chaque évaluation de règle. Passez en revue les règles d’activation et d’affichage. Si vous pensez qu’une règle particulière doit être évalué à 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 soient pas remplies. Si c’est le cas, passez à l’étape 9. Sinon, il est possible que la commande ne dispose pas d’une ou de plusieurs règles et que nous afficherons les couches de solution de commande pour une analyse plus approfondie.
Sélectionnez le lien Afficher les couches de solution de 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 superposition de chaque définition de composant du ruban qu’une solution particulière a installée. La couche 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 si une version mise à jour est installée et 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 sur mesure 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 se trouve la personnalisation du ruban, si « Toutes les entités » est répertorié, la couche provient des extensions clientes du ruban d’application et n’est pas spécifique à l’entité, sinon le nom logique de l’entité est répertorié.
Lorsqu’il existe au moins deux couches, vous pouvez sélectionner deux lignes et sélectionner Comparer pour afficher une comparaison des définitions apportées par chaque solution.
Si vous sélectionnez Précédent , vous revenez à la fenêtre Vérificateur de commandes précédente.
S’il n’existe qu’une seule couche de solution, passez à l’étape 9. Sinon, sélectionnez les deux premières couches de solution (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, montrant les différences, le cas échéant. L’exemple suivant montre la définition Active non managée qui doit avoir été personnalisée avec la suppression d’une règle Mscrm.HideOnModern d’affichage incluse dans la couche de solution publiée 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 évaluée de manière incorrecte sur false et si la définition de règle est incorrectement définie, vous devez modifier la définition de règle et apporter des modifications qui permettraient à la règle d’évaluer sur false dans les circonstances appropriées. Si la définition de règle est correcte, il est possible que les exigences qui feraient que la règle retourne false ne soient pas remplies, comme une valeur de champ ou un privilège de sécurité. Selon votre définition de 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 a pour but de masquer l’affichage de ce bouton particulier dans les applications Unified Interface et d’être visible uniquement dans l’interface client web héritée. Nous pouvons modifier la version personnalisée de la commande et ajouter la règle d’affichage Mscrm.HideOnModern 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’y a pas d’autres modifications intentionnelles, 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 opérationnelle 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 correspond à 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 de l’application, modifier le <RibbonDiffXml> nœud dans le fichier customizations.xml , puis importer une nouvelle version de cette solution où cette commande a été supprimée afin de supprimer le composant. Consultez Exporter, préparer la modification et importer le ruban.
La commande est spécifique à l’entité
D’après notre exemple de scénario, nous avons identifié l’entité est activitypointer et la commande qui doit être supprimée est et elle 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 affiché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 existant.
Sélectionnez l’entité sur laquelle votre commande est définie (Dans notre exemple, il s’agit de activitypointer), puis sélectionnez OK.
Veillez à décocher les options Inclure les métadonnées d’entité et à décocher Ajouter toutes les ressources avant de sélectionner Terminer.
Sélectionnez Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Localisez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier et localisez son nœud enfant <RibbonDiffXml> .
Localisez 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 les autres <CommandDefinition> nœuds qui peuvent être présents. (D’après notre exemple, nous supprimerions le <CommandDefinition> nœud dans lequel l’ID est Mscrm.CreateAppointment.)
Enregistrez le fichier customizations.xml .
Rajoutez le fichier customizations.xml modifié au fichier .zip solution.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La commande se trouve dans le ruban 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 de l’application, les étapes seront 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 affichée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active.
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 les autres <CommandDefinition> nœuds qui peuvent être présents.
Enregistrez le fichier customizations.xml .
Rajoutez le fichier customizations.xml modifié au fichier .zip de solution compressé.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution managée personnalisée que mon entreprise 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 organization de développement distinct qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour l’option La commande se trouve dans la 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 organization affectée distincte, importez cette nouvelle version de votre solution gérée personnalisée.
La commande provient d’une solution gérée sur mesure que mon entreprise n’a pas créée (à partir d’un éditeur de logiciels indépendant/tiers)
Pour supprimer une commande installée par une solution managée personnalisée créée par un éditeur de logiciels indépendant/tiers, 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 organization affectée.
Comment ajouter des règles d’activation/d’affichage manquantes à la commande
Si vous devez conserver des modifications à la commande, 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 correspond à votre scénario particulier :
La commande se trouve dans la solution Active non managée
Si vous avez déterminé que des 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 solution non managée Active , nous allons exporter une solution non managée contenant l’entité ou le ruban application, 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é
Sur la base 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 active non managée à 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 affiché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 existant.
Sélectionnez l’entité sur laquelle votre commande est définie (Dans notre exemple, il s’agit de activitypointer), puis sélectionnez OK.
Veillez à décocher les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.
Sélectionnez Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Recherchez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier, puis localisez 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 localisez le nœud suivant :
Modifiez le <RibbonDiffXml> nœud et apportez les modifications nécessaires au <CommandDefinition> nœud qui permettront à la commande de fonctionner correctement dans les circonstances appropriées pour corriger la commande. Pour plus d’informations sur la déclaration des commandes, consultez Définir des commandes du ruban. (D’après notre exemple, nous allons modifier le <CommandDefinition> nœud en ajoutant la Mscrm.HideOnModern règle d’affichage qui masque correctement ce bouton.)
Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La commande se trouve dans le ruban 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 de l’application, les étapes seront 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 affichée dans la liste des couches de solution du vérificateur de commandes pour la commande et la couche solution active.
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 <RibbonDiffXml> et apportez les modifications nécessaires au <CommandDefinition> nœud qui permettront à la commande de fonctionner correctement dans les circonstances appropriées pour corriger la commande. Pour plus d’informations sur la déclaration des commandes, consultez Définir des commandes du ruban.
Rajoutez le fichier customizations.xml modifié au fichier .zip solution.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution gérée personnalisée que j’ai créée
Pour corriger une commande qui a été installée par une solution gérée personnalisée que vous avez créée, procédez comme suit :
Dans votre organization de développement distinct qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour l’option La commande se trouve dans la 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 organization affectée distincte, importez cette nouvelle version de votre solution gérée personnalisée.
La commande provient d’une solution gérée sur mesure que je n’ai pas créée ou que mon organization ne possède pas (par exemple, à partir d’un éditeur de logiciels indépendant/tiers)
Pour corriger une commande qui a été installée par une solution gérée personnalisée créée par un éditeur de logiciels indépendant/tiers, 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 organization concerné.
La commande se trouve dans une solution gérée publiée par Microsoft
Pour corriger une commande qui a été installée par une solution gérée publiée par Microsoft, vous devrez peut-être installer une version plus récente de la solution, ce qui est généralement effectué lors d’une mise à jour de version. Il est possible que vous ayez identifié un bogue qui doit encore être corrigé. Contactez le support technique pour obtenir de l’aide.
Comment corriger une règle d’activation/d’affichage
Sélectionnez le lien Afficher les couches de solution de 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 superposition de chaque définition de composant du ruban qu’une solution particulière a installée. La couche 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 si une version mise à jour est installée et 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 sur mesure 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 se trouve la personnalisation du ruban, si « Toutes les entités » est répertorié, la couche provient des extensions clientes du ruban d’application et n’est pas spécifique à l’entité, sinon le nom logique de l’entité est répertorié.
Lorsqu’il existe au moins deux couches, vous pouvez sélectionner deux lignes et sélectionner Comparer pour afficher une comparaison des définitions apportées par chaque solution.
Si vous sélectionnez Précédent , vous revenez à la fenêtre Vérificateur de commandes précédente.
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 avez peut-être 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 correspond à 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 solution non managée active , nous allons exporter une solution non managée contenant l’entité ou le ruban application, 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é
Sur la base de notre exemple de scénario, nous avons identifié que l’entité est contact et que 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 active non managée à 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 affiché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 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), puis sélectionnez OK.
Veillez à décocher les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.
Sélectionnez Enregistrer.
Sélectionnez Exporter la solution et exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrez le fichier customizations.xml .
Localisez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier et localisez 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 localisez 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 de prendre la valeur True dans les circonstances appropriées pour corriger la règle. Pour plus d’informations sur la déclaration de règles, consultez Définir des règles d’activation du ruban et Définir des règles d’affichage du ruban. (D’après notre exemple, nous allons remplacer la définition de règle par la suivante)
Rajoutez le fichier customizations.xml modifié au fichier .zip solution.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La règle d’activation/d’affichage se trouve dans le ruban de l’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 de l’application, les étapes seront 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 affichée dans la liste des couches de solution du vérificateur de commandes pour la règle d’activation/d’affichage et la couche solution active.
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 de prendre la valeur True dans les circonstances appropriées pour corriger la règle. Pour plus d’informations sur la déclaration de règles, consultez Définir des règles d’activation du ruban et Définir des règles d’affichage du ruban.
Rajoutez le fichier customizations.xml modifié au fichier .zip solution.
Importez le fichier solution.
Sélectionnez Publier toutes les personnalisations.
La règle d’activation/d’affichage provient d’une solution managée personnalisée que j’ai créée
Pour corriger une règle d’activation/d’affichage qui a été installée par une solution gérée personnalisée que vous avez créée, procédez comme suit :
Dans votre organization de développement distinct qui a la version source non managée de votre solution personnalisée, effectuez les étapes répertoriées ci-dessus pour l’option La règle d’activation/d’affichage se trouve dans la 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 organization affectée distincte, importez cette nouvelle version de votre solution géré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 organization ne possède pas (d’un éditeur de logiciels indépendant/tiers)
Pour corriger une règle d’activation/d’affichage qui a été installée par une solution gérée personnalisée créée par un éditeur de logiciels indépendant/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 organization affecté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 qui a été installée par une solution gérée publiée par Microsoft, vous devrez peut-être installer une version plus récente de la solution, ce qui est généralement effectué lors d’une mise à jour de version. Il est possible que vous ayez identifié un bogue qui doit encore être corrigé. Contactez le support technique pour obtenir de l’aide.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez https://aka.ms/ContentUserFeedback.