Partager via


Un bouton de la barre de commandes ne fonctionne pas correctement dans Power Apps

S’applique à : Power Apps
Numéro de base de connaissances d’origine : 4552163

Déterminer pourquoi un bouton ne fonctionne pas correctement

Plusieurs facteurs peuvent entraîner l’échec d’une action de bouton. Ceux-ci incluent des personnalisations de ruban non valides dans lesquelles la définition de commande associée du bouton est incorrectement déclarée.

Avertissement

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. Par conséquent, ils peuvent ne pas fonctionner correctement.

Si une commande n’est pas correctement déclarée, la sélection d’un bouton peut ne rien faire ou afficher un message d’erreur.

Sélectionnez l’une des options suivantes qui correspondent le mieux à votre situation pour nous aider à fournir la meilleure résolution. Le premier onglet est sélectionné par défaut.

Correction d’un bouton qui ne fait rien quand il est sélectionné

Lorsqu’un bouton est sélectionné et que rien ne se produit, cela est généralement dû à une configuration incorrecte de la commande associée au bouton.

Voici les erreurs de configuration de commande classiques qui sont effectuées lors de la déclaration de la JavaScriptFunction valeur de l’action. Ces erreurs peuvent provoquer un dysfonctionnement d’un bouton et sembler comme s’il ne fait rien lorsqu’il est sélectionné.

  • Nom de fonction non valide : le nom de la fonction JavaScript ne correspond pas à un nom de fonction valide dans la ressource web JavaScript affectée à la propriété Bibliothèque.
  • Bibliothèque non valide : ce chemin d’accès ne fait pas référence à une ressource web JavaScript valide ou n’est pas préfixé par $webresource:.
  • Paramètres manquants : la fonction JavaScript attend des paramètres spécifiques et la définition de commande ne les déclare pas.
  • Type ou ordre de paramètre incorrect : les paramètres sont déclarés à l’aide d’un type incorrect ou sont dans un ordre différent de celui dans lequel ils sont répertoriés dans la déclaration de fonction JavaScript.

Reportez-vous à Définir des actions de ruban pour obtenir de l’aide supplémentaire sur la configuration.

Si ces configurations sont correctes, une erreur de code JavaScript peut être la cause. Si la fonction JavaScript personnalisée est codée de manière incorrecte et n’appelle pas le comportement attendu, le bouton ne fonctionnera pas comme prévu. Si vous trouvez l’une des erreurs de configuration répertoriées, corrigez la définition de commande pour résoudre le problème. Sinon, vous devrez peut-être déboguer et corriger le code de la fonction JavaScript pour que le bouton fonctionne correctement.

Identifiez ce que la commande de bouton est et quelle solution a installé la définition incorrecte.

  1. Activez le vérificateur de commandes et sélectionnez le bouton de commande à inspecter.

  2. Sélectionnez l’onglet Propriétés de la commande pour afficher les détails de la commande pour ce bouton.

    Capture d’écran de l’onglet Propriétés de commande d’un bouton.

  3. L’onglet Propriétés de la commande affiche les actions et la configuration correspondante JavaScriptFunction . Sélectionnez le lien des couches de solution Afficher la définition de commande sous le nom de commande pour afficher les solutions qui ont installé une définition de la commande.

    Capture d’écran du lien des couches de solution Afficher la définition de commande sous un nom de commande.

  4. Le volet Couches de solutions affiche la superposition 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. Si 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 solution 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é spécifique. 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 fournies par chaque solution.

    Si vous sélectionnez Précédent , vous accédez à la fenêtre précédente du Vérificateur de commandes.

    S’il n’existe qu’une seule couche de solution, passez à l’étape 8. 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.) Ensuite, sélectionnez Comparer.

    Capture d’écran pour sélectionner les deux couches de solution supérieures et sélectionner l’option Comparer.

  5. La comparaison de la définition active actuelle et de la définition inactive précédente s’affiche et affiche les différences, le cas échéant. L’exemple suivant montre que la définition Active non managée a été personnalisée en spécifiant la FunctionName valeur de manière incorrecte, par rapport à l’autre définition inactive de la couche de solution système publiée par Microsoft. La FunctionName valeur est censée être XrmCore.Commands.Delete.deletePrimaryRecord, mais la définition personnalisée a déclaré FunctionName="deletePrimaryRecord". Dans ce cas, rien ne se produit lorsque le bouton est sélectionné, car la fonction est introuvable.

    Capture d’écran montrant la comparaison de la définition active actuelle et de la définition inactive précédente.

  6. L’approche nécessaire pour corriger la fonctionnalité d’action d’un bouton dépend des différentes personnalisations de votre scénario spécifique. Compte tenu de l’exemple, la commande a été personnalisée en spécifiant une valeur incorrecte FunctionName . Vous pouvez modifier la version personnalisée de la commande et corriger la FunctionName valeur. É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, nous vous recommandons de supprimer cette version personnalisée de la commande pour restaurer les fonctionnalités par défaut.

Sélectionnez l’une des options de réparation suivantes.

Option 1 : Supprimer la commande qui a la déclaration JavaScriptFunction incorrecte
La commande se trouve dans la solution Active non managée.

Pour supprimer une commande dans la couche solution non managée Active , vous allez 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 l’exemple de scénario, vous avez déterminé que l’entité est compte, que la commande à supprimer est et qu’elle est Mscrm.DeletePrimaryRecorddéclarée dans la couche de solution non managée Active d’un éditeur nommé DefaultPublisherCITTest.

  1. Ouvrez Paramètres avancés.

  2. Accédez à Paramètres>Solutions.

  3. Sélectionnez Nouveau pour créer une solution, puis 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 l’exemple, il s’agit de DefaultPublisherCITTest.)

  4. Sélectionnez Entités>Ajouter un existant.

  5. Sélectionnez l’entité sur laquelle votre commande est définie (dans l’exemple, il s’agit de « compte »), puis sélectionnez OK.

  6. Veillez à effacer les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.

  7. Cliquez sur Enregistrer.

  8. Sélectionnez Exporter la solution et exportez la solution non managée.

  9. Extrayez le fichier .zip.

  10. Ouvrez le fichier customizations.xml .

  11. Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et recherchez son nœud enfant <RibbonDiffXml> .

  12. Recherchez le <CommandDefinition> nœud. (Dans l’exemple, l’ID du <CommandDefinition> nœud est Mscrm.DeletePrimaryRecord. Par conséquent, vous trouverez le nœud suivant.)

    Capture d’écran montrant l’emplacement du nœud CommandDefinition.

  13. Modifiez le <RibbonDiffXml> nœud pour supprimer 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 susceptibles d’être présents. (En fonction de l’exemple, vous supprimez le <CommandDefinition> nœud dans lequel l’ID est Mscrm.DeletePrimaryRecord.)

    Capture d’écran pour supprimer le nœud CommandDefinition.

  14. Enregistrez le fichier customizations.xml .

  15. Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.

  16. Importer le fichier de solution.

  17. 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é mais, à la place, s’applique à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes, comme suit :

  1. Ouvrez Paramètres avancés.
  2. Accédez à Paramètres>Solutions.
  3. Sélectionnez Nouveau pour créer une solution, puis 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.
  4. Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
  5. Cliquez sur Enregistrer.
  6. Sélectionnez Exporter la solution et exportez la solution non managée.
  7. Extrayez le fichier .zip.
  8. Ouvrez le fichier customizations.xml .
  9. Recherchez le nœud racine <RibbonDiffXml> .
  10. Recherchez le <CommandDefinition> nœud.
  11. 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 susceptibles d’être présents.
  12. Enregistrez le fichier customizations.xml .
  13. Restaurez le fichier customizations.xml modifié dans la solution compressée .zip fichier.
  14. Importer le fichier de solution.
  15. Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution managé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 :

  1. 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.
  2. Incrémentez la version de votre solution personnalisée.
  3. Exporter la solution en tant que solution gérée.
  4. 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 ou d’ISV).

Pour supprimer une commande installée par une solution managée personnalisée créée par un éditeur de logiciels indépendants ou tiers, vous devez contacter l’auteur de la solution pour demander une nouvelle version de la solution qui a la définition de commande spécifique supprimée, puis installer cette nouvelle solution dans votre organisation concernée.

Option 2 : Corriger la déclaration JavaScriptFunction de la commande
La commande se trouve dans la solution Active non managée.

Pour corriger une commande dans la couche solution non managée Active , vous allez exporter une solution non managée qui contient l’entité ou le ruban Application, modifier le <RibbonDiffXml> nœud dans le fichier customizations.xml , puis importer une nouvelle version de cette solution qui contient la définition de commande fixe. Consultez Exporter, préparer la modification et importer le ruban.

Avertissement

Ne supprimez Mscrm.HideOnModern pas la 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.

La commande est spécifique à l’entité

En fonction de l’exemple de scénario, vous avez déterminé que l’entité est compte, la commande qui doit être corrigée est , et elle est Mscrm.DeletePrimaryRecorddéclarée dans la couche de solution non managée Active à partir d’un éditeur nommé DefaultPublisherCITTest.

  1. Ouvrez Paramètres avancés.

  2. Accédez à Paramètres>Solutions.

  3. Sélectionnez Nouveau pour créer une solution, puis 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 l’exemple, il s’agit de DefaultPublisherCITTest.)

  4. Sélectionnez Entités>Ajouter un existant.

  5. Sélectionnez l’entité sur laquelle votre commande est définie (dans l’exemple, il s’agit d’un compte), puis sélectionnez OK.

  6. Veillez à effacer les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.

  7. Cliquez sur Enregistrer.

  8. Sélectionnez Exporter la solution et exportez la solution non managée.

  9. Extrayez le fichier .zip.

  10. Ouvrez le fichier customizations.xml .

  11. Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et recherchez son nœud enfant <RibbonDiffXml> .

  12. Recherchez le <CommandDefinition> nœud. (Dans l’exemple, l’ID du <CommandDefinition> nœud est Mscrm.DeletePrimaryRecord. Par conséquent, vous trouverez le nœud suivant.)

    Capture d’écran montrant l’emplacement de l’exemple de nœud CommandDefinition.

  13. 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 déclaration de commandes, consultez Définir des commandes de ruban et définir des actions de ruban. (En fonction de l’exempleJavaScriptFunction, vous devez modifier les <CommandDefinition> nœuds en définissant la FunctionName valeur XrmCore.Commands.Delete.deletePrimaryRecordsur .)

    Capture d’écran pour modifier la fonction JavaScriptFunction du nœud CommandDefinition en définissant la valeur FunctionName.

  14. Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.

  15. Importer le fichier de solution.

  16. 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é mais, à la place, s’applique à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes, comme suit :

  1. Ouvrez Paramètres avancés.
  2. Accédez à Paramètres>Solutions.
  3. Sélectionnez Nouveau pour créer une solution, puis 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.
  4. Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
  5. Cliquez sur Enregistrer.
  6. Sélectionnez Exporter la solution et exportez la solution non managée.
  7. Extrayez le fichier .zip.
  8. Ouvrez le fichier customizations.xml .
  9. Recherchez le nœud racine <RibbonDiffXml> .
  10. Recherchez le <CommandDefinition>.
  11. Modifiez le <RibbonDiffXml> nœud pour apporter 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 déclaration de commandes, consultez Définir des commandes de ruban et définir des actions de ruban.
  12. Enregistrez le fichier customizations.xml .
  13. Restaurez le fichier customizations.xml modifié dans la solution compressée .zip fichier.
  14. Importer le fichier de solution.
  15. 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 :

  1. 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.
  2. Incrémentez la version de votre solution personnalisée.
  3. Exporter la solution en tant que solution gérée.
  4. 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 (à partir d’un fournisseur tiers/éditeur de logiciels indépendants).

Pour corriger une commande installée par une solution gérée personnalisée créée par un tiers ou un éditeur de logiciels indépendants, vous devez contacter l’auteur de la solution pour 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.

Message d’erreur de script : « Bibliothèque d’actions JavaScript non valide »](#tab/error)

Correction d’un bouton qui affiche une erreur lorsqu’il est sélectionné

Si un bouton de barre de commandes du ruban est sélectionné et qu’une erreur se produit, l’erreur est généralement due à des personnalisations incorrectes des commandes du ruban.

Corriger l’erreur de script « Bibliothèque d’actions JavaScript non valide »

Vous pouvez recevoir un message d’erreur de script semblable à ce qui suit :

Bibliothèque d’actions JavaScript non valide : [nom du script] n’est pas une ressource web et n’est pas prise en charge.

Capture d’écran montrant un exemple de message d’erreur de script.

Cela est dû à une personnalisation de commande du ruban non valide qui a déclaré une bibliothèque incorrecte sur la commande JavaScriptFunction.

  1. Activez le vérificateur de commandes et sélectionnez le bouton de commande à inspecter.

  2. L’exemple suivant montre le bouton Nouveau sur la page de formulaire de l’entité de compte est visible et est représenté par un élément étiqueté Nouveau.

    Capture d’écran montrant le bouton Nouveau dans la page de formulaire de l’entité de compte.

  3. Sélectionnez l’onglet Propriétés de la commande pour afficher les détails de la commande pour ce bouton. Cela affiche la déclaration Actions et JavaScriptFunction, ainsi que toutes les règles d’activation ou d’affichage avec le résultat (True, False, Ignoré) de chaque évaluation de règle.

    Développez JavaScriptFunction en sélectionnant l’icône « chevron » pour afficher les détails de la déclaration de fonction. La propriété Library doit être une ressource web JavaScript et être précédée $webresource:de . L’exemple suivant montre que la propriété Bibliothèque est _/_static/common/scripts/RibbonActions.js. Il ne s’agit pas d’un chemin d’accès à une ressource web JavaScript valide. Vous devez ensuite examiner les couches de solution de la commande pour essayer d’identifier la valeur correcte pour résoudre le problème.

    Capture d’écran montrant un exemple de la propriété Library.

  4. Sélectionnez le lien des couches de solution Afficher la définition de commande sous le nom de commande pour afficher les solutions qui ont installé une définition de la commande.

    Capture d’écran du lien des couches de solution Afficher la définition de commande sous le nom de la commande.

  5. 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 solution 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 de la commande dans l’exemple, et indique qu’il existe deux couches de solution, et qu’une personnalisation non managée est indiquée par la solution intitulée Active et l’autre provient de la solution système publiée par Microsoft. Votre scénario réel peut différer, vous n’avez 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.

    Sélectionnez les deux premières lignes et sélectionnez Comparer pour afficher une comparaison des définitions introduites par chaque solution. Si vous n’avez qu’une seule couche de solution, vous ignorez cette étape.

    Capture d’écran pour sélectionner les deux premières lignes et sélectionner l’option Comparer pour afficher une comparaison des définitions.

  6. La comparaison entre les définitions de commandes affiche toutes les différences qui peuvent exister entre les deux couches. L’exemple suivant montre clairement que la valeur de la bibliothèque est différente. L’entrée non managée de la solution Active est définie sur un chemin d’accès incorrect _/_static/common/scripts/RibbonActions.js (votre chemin spécifique peut être légèrement différent), et la définition par défaut de Microsoft a défini la bibliothèque $webresoure:Main_system_library.jssur . Il s’agit d’un chemin d’accès pris en charge pour cette commande particulière (cette valeur peut être différente, selon votre commande particulière). Le seul chemin pris en charge est celui qui commence $webresource: par et se termine par le nom d’une ressource web JavaScript valide.

    Capture d’écran montrant un exemple où la valeur de la bibliothèque est différente.

  7. Maintenant que vous avez examiné les couches de solution et déterminé la solution qui a installé la personnalisation, vous devez corriger la définition dans la solution approprié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.

L’approche de correction de la commande varie selon que votre définition est la seule, ou s’il existe d’autres définitions inactives et si les modifications ont été intentionnelles.

Sélectionnez l’option qui reflète votre scénario :

  • La commande n’a aucune modification intentionnelle et je souhaite supprimer cette couche personnalisée.

    Pour supprimer une commande dans la couche solution non managée Active , vous allez exporter une solution non managée qui contient l’entité ou le ruban d’application, 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 l’exemple de scénario, vous avez déterminé que l’entité est compte, que la commande à supprimer est et qu’elle est Mscrm.NewRecordFromFormdéclarée dans la couche de solution non managée Active d’un éditeur nommé DefaultPublisherCITTest.

    1. Ouvrez Paramètres avancés.

    2. Accédez à Paramètres>Solutions.

    3. Sélectionnez Nouveau pour créer une solution, puis 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 l’exemple, il s’agit de DefaultPublisherCITTest.)

    4. Sélectionnez Entités>Ajouter un existant.

    5. Sélectionnez l’entité sur laquelle votre commande est définie. (Dans l’exemple, il s’agit d’un compte), puis sélectionnez OK.

    6. Veillez à effacer les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.

    7. Cliquez sur Enregistrer.

    8. Sélectionnez Exporter la solution et exportez la solution non managée.

    9. Extrayez le fichier .zip.

    10. Ouvrez le fichier customizations.xml .

    11. Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et recherchez son nœud enfant <RibbonDiffXml> .

    12. Recherchez le <CommandDefinition> nœud (dans l’exemple, l’ID du <CommandDefinition> fichier est Mscrm.NewRecordFromForm. Par conséquent, vous trouverez le nœud suivant.)

      Capture d’écran de l’emplacement du nœud CommandDefinition.

    13. Modifiez le <RibbonDiffXml> nœud pour supprimer le nœud spécifique <CommandDefinition> . Veillez à ne pas supprimer involontairement d’autres <CommandDefinition> nœuds susceptibles d’être présents. (En fonction de l’exemple, vous supprimez le <CommandDefinition> nœud dans lequel l’ID est Mscrm.NewRecordFromForm.)

      Capture d’écran montrant un exemple de suppression du nœud CommandDefinition.

    14. Enregistrez le fichier customizations.xml .

    15. Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.

    16. Importer le fichier de solution.

    17. 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é mais, à la place, s’applique à « Toutes les entités » déclarées dans le ruban d’application, les étapes sont légèrement différentes, comme suit :

    1. Ouvrez Paramètres avancés.
    2. Accédez à Paramètres>Solutions.
    3. Sélectionnez Nouveau pour créer une solution, puis 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.
    4. Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
    5. Cliquez sur Enregistrer.
    6. Sélectionnez Exporter la solution et exportez la solution non managée.
    7. Extrayez le fichier .zip.
    8. Ouvrez le fichier customizations.xml .
    9. Recherchez le nœud racine <RibbonDiffXml> .
    10. Recherchez le <CommandDefinition> nœud.
    11. Modifiez <RibbonDiffXml> pour supprimer le <CommandDefinition> nœud qui a l’ID correspondant de la commande que vous souhaitez supprimer. Veillez à ne pas supprimer involontairement d’autres <CommandDefinition> nœuds susceptibles d’être présents.
    12. Enregistrez le fichier customizations.xml .
    13. Restaurez le fichier customizations.xml modifié dans la solution compressée .zip fichier.
    14. Importer le fichier de solution.
    15. Sélectionnez Publier toutes les personnalisations.
  • La commande a des modifications supplémentaires que je souhaite conserver, et je veux corriger cette couche de solution.

    Pour corriger une commande dans la couche solution non managée Active , vous allez 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.

    Avertissement

    Ne supprimez Mscrm.HideOnModern pas la 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.

    La commande est spécifique à l’entité

    En fonction de l’exemple de scénario, vous avez déterminé que l’entité est compte, la commande qui doit être corrigée est , et elle est Mscrm.NewRecordFromFormdéclarée dans la couche de solution non managée Active à partir d’un éditeur nommé DefaultPublisherCITTest.

    1. Ouvrez Paramètres avancés.

    2. Accédez à Paramètres>Solutions.

    3. Sélectionnez Nouveau pour créer une solution, puis 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 l’exemple, il s’agit de DefaultPublisherCITTest.)

    4. Sélectionnez Entités>Ajouter un existant.

    5. Sélectionnez l’entité sur laquelle votre commande est définie (dans l’exemple, il s’agit d’un compte), puis sélectionnez OK.

    6. Veillez à effacer les métadonnées d’entité Include et à ajouter toutes les options de ressources avant de sélectionner Terminer.

    7. Cliquez sur Enregistrer.

    8. Sélectionnez Exporter la solution et exportez la solution non managée.

    9. Extrayez le fichier .zip.

    10. Ouvrir le fichier customizations.xml

    11. Recherchez l’enfant <Entity> du nœud d’entité que vous souhaitez modifier et recherchez son nœud enfant <RibbonDiffXml> .

    12. Recherchez le <CommandDefinition> nœud. (Dans l’exemple, l’ID du <CommandDefinition> nœud est Mscrm.NewRecordFromForm. Par conséquent, vous trouverez le nœud suivant.)

      Capture d’écran montrant l’emplacement du nœud CommandDefinition dont l’ID est Mscrm.NewRecordFromForm.

    13. Modifiez <RibbonDiffXml> pour apporter 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 de ruban et définir des actions de ruban. (En fonction de l’exemple, vous devez modifier le <CommandDefinition> nœud en définissant Library="$webresoure:Main_system_library.js", puis vous assurer que la FunctionName valeur correspond. Dans l’exemple, il s’agirait FunctionName="XrmCore.Commands.Open.openNewRecord"de .)

      Capture d’écran pour modifier le nœud CommandDefinition, puis vérifiez que la valeur FunctionName correspond.

    14. Enregistrez le fichier customizations.xml .

    15. Restaurez le fichier customizations.xml modifié dans le fichier .zip solution.

    16. Importer le fichier de solution.

    17. 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 :

    1. Ouvrez Paramètres avancés.
    2. Accédez à Paramètres>Solutions.
    3. Sélectionnez Nouveau pour créer une solution, puis 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.
    4. Sélectionnez Extensions>clientes Ajouter des rubans d’application existants.>
    5. Cliquez sur Enregistrer.
    6. Sélectionnez Exporter la solution et exportez la solution non managée.
    7. Extrayez le fichier .zip.
    8. Ouvrez le fichier customizations.xml .
    9. Recherchez le nœud racine <RibbonDiffXml> .
    10. Recherchez le <CommandDefinition> nœud.
    11. Modifiez le <RibbonDiffXml> nœud pour apporter 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 déclaration de commandes, consultez Définir des commandes de ruban et définir des actions de ruban.
    12. Enregistrez le fichier customizations.xml .
    13. Restaurez le fichier customizations.xml modifié dans la solution compressée .zip fichier.
    14. Importer le fichier de solution.
    15. 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 :

  1. 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.
  2. Incrémentez la version de votre solution personnalisée.
  3. Exporter la solution en tant que solution gérée.
  4. 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 (à partir d’un tiers ou d’un éditeur de logiciels indépendants).

Pour corriger une commande installée par une solution gérée personnalisée créée par un tiers ou un éditeur de logiciels indépendants, vous devez contacter l’auteur de la solution pour demander une nouvelle version de la solution qui contient la définition de commande fixe, puis 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 gérée publiée par Microsoft, vous devrez peut-être installer une version plus récente de la solution. Cela est généralement effectué lors d’une mise à jour de mise en production. Il est possible que vous ayez identifié un bogue qui doit toujours être résolu. Contactez le support technique pour obtenir de l’aide.