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

S’applique à : Power Apps
Numéro de la 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. Il s’agit notamment des personnalisations de ruban non valides dans lesquelles la définition de commande associée au 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 correspond le mieux à votre situation pour nous aider à fournir la meilleure résolution. Le premier onglet est sélectionné par défaut.

Corriger un bouton qui ne fait rien lorsqu’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 commises lors de la déclaration de la JavaScriptFunction valeur de l’action. Ces erreurs peuvent entraîner un dysfonctionnement d’un bouton et sembler ne rien faire lorsqu’il est sélectionné.

  • FunctionName 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é Library.
  • 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écédé de $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 de paramètre ou ordre 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 la fonction JavaScript.

Pour plus d’informations sur la configuration, reportez-vous à Définir des actions du ruban .

Si ces configurations sont correctes, une erreur de code JavaScript peut en être la cause. Si la fonction JavaScript personnalisée est mal codée 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 qu’est la commande button 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 commande affiche les actions et la configuration correspondanteJavaScriptFunction. Sélectionnez le lien Afficher les couches de solution de définition de commande sous le nom de la commande pour afficher les solutions qui ont installé une définition de la commande.

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

  4. 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 principale 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. 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 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 la personnalisation du ruban est activée. Si « Toutes les entités » est répertorié, la couche provient des extensions clientes du ruban d’application et n’est pas propre à 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 fournies par chaque solution.

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

    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 montrant comment sélectionner les deux couches de solution les plus hauts 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 dans la couche de solution Système publiée par Microsoft. La FunctionName valeur est supposé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 requise 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’une substitution personnalisée d’une définition publiée par Microsoft et qu’il n’y a pas d’autres modifications intentionnelles, nous vous recommandons de supprimer cette version personnalisée de la commande pour restaurer la fonctionnalité par défaut.

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

Option 1 : Supprimer la commande dont la déclaration JavaScriptFunction est 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 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é

Sur la base de l’exemple de scénario, vous avez déterminé que l’entité est un compte, que la commande qui doit être supprimée est Mscrm.DeletePrimaryRecordet qu’elle est déclarée dans la couche 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 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 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 à décochez les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.

  7. Sélectionnez Enregistrer.

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

  9. Extrayez le fichier .zip.

  10. Ouvrez le fichier customizations.xml .

  11. Recherchez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier, puis localisez 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 devez localiser 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 à supprimer. Veillez à ne pas supprimer involontairement d’autres <CommandDefinition> nœuds susceptibles d’être présents. (D’après l’exemple, vous supprimez le <CommandDefinition> nœud dans lequel l’ID est Mscrm.DeletePrimaryRecord.)

    Capture d’écran de la suppression du nœud CommandDefinition.

  14. Enregistrez le fichier customizations.xml .

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

  16. Importez le fichier solution.

  17. 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é, mais qu’elle s’applique à « Toutes les entités » déclarées dans le ruban application, les étapes seront 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 desrubans d’application existants>.
  5. Sélectionnez Enregistrer.
  6. Sélectionnez Exporter la solution, puis 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>, puis supprimez le <CommandDefinition> nœud qui a l’ID de la commande à 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 le fichier de .zip solution compressé.
  14. Importez le fichier solution.
  15. Sélectionnez Publier toutes les personnalisations.
La commande provient d’une solution 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 :

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

Pour supprimer une commande qui a été installée par une solution gérée personnalisée créée par un éditeur de logiciels tiers ou un éditeur de logiciels indépendant, vous devez contacter l’auteur de la solution pour demander une nouvelle version de la solution dont la définition de commande spécifique a été supprimée, puis installer cette nouvelle solution dans votre organization affectée.

Option 2 : Corriger la déclaration de commande JavaScriptFunction
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é

Sur la base de l’exemple de scénario, vous avez déterminé que l’entité est un compte, que la commande qui doit être corrigée est et qu’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 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 existant.

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

  6. Veillez à décochez les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.

  7. Sélectionnez Enregistrer.

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

  9. Extrayez le fichier .zip.

  10. Ouvrez le fichier customizations.xml .

  11. Recherchez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier, puis localisez 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 devez localiser 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 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 et Définir des actions du ruban. (Sur la base de l’exemple, vous devez modifier le <CommandDefinition> du JavaScriptFunction nœud en définissant la FunctionName valeur sur XrmCore.Commands.Delete.deletePrimaryRecord.)

    Capture d’écran montrant comment 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. Importez le fichier solution.

  16. 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é, mais qu’elle s’applique à « Toutes les entités » déclarées dans le ruban application, les étapes seront 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 desrubans d’application existants>.
  5. Sélectionnez 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 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 et Définir des actions du ruban.
  12. Enregistrez le fichier customizations.xml .
  13. Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
  14. Importez le fichier solution.
  15. 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 :

  1. 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.
  2. Incrémentez la version de votre solution personnalisée.
  3. Exporter la solution en tant que solution gérée.
  4. 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 n’est pas propriétaire (d’un éditeur de logiciels indépendant/tiers).

Pour corriger une commande qui a été installée par une solution personnalisée créée par un éditeur de logiciels indépendant ou tiers, 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 organization concerné.

Je reçois le message d’erreur de script : « Bibliothèque d’actions JavaScript non valide »](#tab/erreur)

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.

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

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

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

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

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

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

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

    Capture d’écran montrant le bouton Nouveau sur 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 les déclarations Actions et JavaScriptFunction, ainsi que 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 de $webresource:. L’exemple suivant montre que la propriété Library 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 passer en revue 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 Afficher les couches de solution de définition de commande sous le nom de la commande pour afficher les solutions qui ont installé une définition de la commande.

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

  5. 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 commande dans l’exemple et indique qu’il existe deux couches de solution, l’une est une personnalisation non managée comme indiqué par la solution intitulée Active et l’autre est issue de la solution Système publiée par Microsoft. Votre scénario réel peut différer, vous n’avez peut-être pas de couche 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, puis sélectionnez Comparer pour afficher une comparaison des définitions apportées par chaque solution. Si vous n’avez qu’une seule couche de solution, vous ignorez cette étape.

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

  6. La comparaison entre les définitions de commandes montre les différences qui peuvent exister entre les deux couches. L’exemple suivant montre clairement que la valeur library 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 d’accès spécifique peut être légèrement différent), et la définition par défaut de Microsoft a défini la bibliothèque sur $webresoure:Main_system_library.js. Il s’agit d’un chemin 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 correspond à votre scénario particulier :

La commande se trouve dans la solution Active non managée.

L’approche pour corriger la commande varie selon que votre définition est la seule ou qu’il existe d’autres définitions inactives et que les modifications ont été intentionnelles.

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

  • La commande n’a pas de modifications intentionnelles, et je souhaite supprimer cette couche personnalisée.

    Pour supprimer une commande dans la couche de solution non managée active , vous allez exporter une solution non managée qui contient 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é

    Sur la base de l’exemple de scénario, vous avez déterminé que l’entité est un compte, que la commande qui doit être supprimée est Mscrm.NewRecordFromFormet qu’elle est déclarée dans la couche 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 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 existant.

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

    6. Veillez à décochez les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.

    7. Sélectionnez Enregistrer.

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

    9. Extrayez le fichier .zip.

    10. Ouvrez le fichier customizations.xml .

    11. Recherchez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier, puis localisez son nœud enfant <RibbonDiffXml> .

    12. Recherchez le <CommandDefinition> nœud (Dans l’exemple, l’ID de est <CommandDefinition>Mscrm.NewRecordFromForm. Par conséquent, vous devez localiser 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. (D’après 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. Importez le fichier solution.

    17. 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é, mais qu’elle s’applique à « Toutes les entités » déclarées dans le ruban application, les étapes seront 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 desrubans d’application existants>.
    5. Sélectionnez Enregistrer.
    6. Sélectionnez Exporter la solution, puis 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 le fichier de .zip solution compressé.
    14. Importez le fichier solution.
    15. Sélectionnez Publier toutes les personnalisations.
  • La commande comporte des modifications supplémentaires que je souhaite conserver, et je souhaite 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 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.

    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é

    Sur la base de l’exemple de scénario, vous avez déterminé que l’entité est un compte, que la commande qui doit être corrigée est et qu’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 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 existant.

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

    6. Veillez à décochez les options Inclure les métadonnées d’entité et Ajouter toutes les ressources avant de sélectionner Terminer.

    7. Sélectionnez Enregistrer.

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

    9. Extrayez le fichier .zip.

    10. Ouvrir le fichier customizations.xml

    11. Localisez le <Entity> nœud enfant du nœud d’entité que vous souhaitez modifier, puis localisez 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 devez localiser 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 déclaration des commandes, consultez Définir des commandes du ruban et Définir des actions du ruban. (Sur la base 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, ce serait FunctionName="XrmCore.Commands.Open.openNewRecord".)

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

    14. Enregistrez le fichier customizations.xml .

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

    16. Importez le fichier solution.

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

    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 desrubans d’application existants>.
    5. Sélectionnez Enregistrer.
    6. Sélectionnez Exporter la solution, puis 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 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 et Définir des actions du ruban.
    12. Enregistrez le fichier customizations.xml .
    13. Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
    14. Importez le fichier solution.
    15. 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 :

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

Pour corriger une commande qui a été installée par une solution gérée personnalisée qui a été créée par un tiers ou un éditeur de logiciels indépendant, 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 organization affectée.

La commande se trouve dans une solution managé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. Cela se fait généralement pendant 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.