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.
Activez le vérificateur de commandes et sélectionnez le bouton de commande à inspecter.
Sélectionnez l’onglet Propriétés de la commande pour afficher les détails de la commande pour ce bouton.
L’onglet Propriétés de commande affiche les actions et la configuration correspondante
JavaScriptFunction
. 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.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.
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. LaFunctionName
valeur est supposée êtreXrmCore.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.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 laFunctionName
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.DeletePrimaryRecord
et qu’elle est déclarée dans la couche 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, 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.)
Sélectionnez Entités>Ajouter existant.
Sélectionnez l’entité sur laquelle votre commande est définie (dans l’exemple, il s’agit de « compte »), puis sélectionnez OK.
Veillez à décochez 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, puis 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 estMscrm.DeletePrimaryRecord
. Par conséquent, vous devez localiser le nœud suivant.)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 estMscrm.DeletePrimaryRecord
.)Enregistrez le fichier customizations.xml .
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é, 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 :
- Ouvrez Paramètres avancés.
- Accédez à Paramètres>Solutions.
- 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.
- Sélectionnez Extensions>clientes Ajouter desrubans d’application existants>.
- Sélectionnez Enregistrer.
- Sélectionnez Exporter la solution, puis exportez la solution non managée.
- Extrayez le fichier .zip.
- Ouvrez le fichier customizations.xml .
- Recherchez le nœud racine
<RibbonDiffXml>
. - Recherchez le
<CommandDefinition>
nœud. - 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. - Enregistrez le fichier customizations.xml .
- Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
- Importez le fichier solution.
- 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 :
- 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’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.DeletePrimaryRecord
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, 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.)
Sélectionnez Entités>Ajouter existant.
Sélectionnez l’entité sur laquelle votre commande est définie (Dans l’exemple, il s’agit du compte), puis sélectionnez OK.
Veillez à décochez 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, puis 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 estMscrm.DeletePrimaryRecord
. Par conséquent, vous devez localiser 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 et Définir des actions du ruban. (Sur la base de l’exemple, vous devez modifier le<CommandDefinition>
duJavaScriptFunction
nœud en définissant laFunctionName
valeur surXrmCore.Commands.Delete.deletePrimaryRecord
.)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é, 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 :
- Ouvrez Paramètres avancés.
- Accédez à Paramètres>Solutions.
- 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.
- Sélectionnez Extensions>clientes Ajouter desrubans d’application existants>.
- 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 nœud racine
<RibbonDiffXml>
. - Recherchez le
<CommandDefinition>
. - 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. - Enregistrez le fichier customizations.xml .
- Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
- 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 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.
Cela est dû à une personnalisation de commande de ruban non valide qui a déclaré une bibliothèque incorrecte sur le de JavaScriptFunction
la commande .
Activez le vérificateur de commandes et sélectionnez le bouton de commande à inspecter.
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.
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.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.
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.
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.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.NewRecordFromForm
et qu’elle est déclarée dans la couche 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, 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.)
Sélectionnez Entités>Ajouter existant.
Sélectionnez l’entité sur laquelle votre commande est définie. (Dans l’exemple, il s’agit du compte), puis sélectionnez OK.
Veillez à décochez 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, puis 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 de est<CommandDefinition>
Mscrm.NewRecordFromForm
. Par conséquent, vous devez localiser le nœud suivant.)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 estMscrm.NewRecordFromForm
.)Enregistrez le fichier customizations.xml .
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é, 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 :
- Ouvrez Paramètres avancés.
- Accédez à Paramètres>Solutions.
- 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.
- Sélectionnez Extensions>clientes Ajouter desrubans d’application existants>.
- Sélectionnez Enregistrer.
- Sélectionnez Exporter la solution, puis exportez la solution non managée.
- Extrayez le fichier .zip.
- Ouvrez le fichier customizations.xml .
- Recherchez le nœud racine
<RibbonDiffXml>
. - Recherchez le
<CommandDefinition>
nœud. - 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. - Enregistrez le fichier customizations.xml .
- Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
- Importez le fichier solution.
- 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 laMscrm.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.NewRecordFromForm
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, 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.)
Sélectionnez Entités>Ajouter existant.
Sélectionnez l’entité sur laquelle votre commande est définie (Dans l’exemple, il s’agit du compte), puis sélectionnez OK.
Veillez à décochez 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, puis exportez la solution non managée.
Extrayez le fichier .zip.
Ouvrir le fichier customizations.xml
Localisez 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 estMscrm.NewRecordFromForm
. Par conséquent, vous devez localiser le nœud suivant.)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éfinissantLibrary="$webresoure:Main_system_library.js"
, puis vous assurer que laFunctionName
valeur correspond. Dans l’exemple, ce seraitFunctionName="XrmCore.Commands.Open.openNewRecord"
.)Enregistrez le fichier customizations.xml .
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, 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.
- Sélectionnez Extensions>clientes Ajouter desrubans d’application existants>.
- Sélectionnez Enregistrer.
- Sélectionnez Exporter la solution, puis exportez la solution non managée.
- Extrayez le fichier .zip.
- Ouvrez le fichier customizations.xml .
- Recherchez le nœud racine
<RibbonDiffXml>
. - Recherchez le
<CommandDefinition>
nœud. - 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. - Enregistrez le fichier customizations.xml .
- Restaurez le fichier customizations.xml modifié dans le fichier de .zip solution compressé.
- 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 (à 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.
Commentaires
https://aka.ms/ContentUserFeedback.
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, consultezEnvoyer et afficher des commentaires pour