Share via


Remplacer le comportement ouvert par défaut des lignes de données dans une grille liée à une entité

Notes

Cette rubrique concerne les commandes classiques.

Il existe une nouvelle façon de définir les commandes. Voir Vue d’ensemble du commandement moderne (Version préliminaire)

Par défaut, l’exécution de l’une des actions suivantes dans une ligne de données d’une grille liée à une entité ouvre l’enregistrement de table :

  • double-cliquez sur la ligne de données ou sélectionnez le lien de la colonne principale dans la ligne ;
  • sélectionner une ligne de données, puis appuyer sur Entrée ;
  • sur un appareil tactile, sélectionner une ligne de données.

Il peut y avoir des situations dans lesquelles vous ne souhaitez pas que l’enregistrement de table s’ouvre (ce qui est le comportement par défaut), mais vous souhaitez plutôt qu’une action personnalisée soit effectuée, comme l’ouverture d’une URL à l’aide de fonctions JavaScript. Vous pouvez remplacer le comportement par défaut et définir votre propre comportement personnalisé en créant une définition de commande pour une table avec Mscrm.OpenRecordItem comme valeur de paramètre d’ID CommandDefinition et définir une action personnalisée sur l’onglet Actions. L’application recherche l’ID de commande Mscrm.OpenRecordItem pour une table lorsque vous essayez d’ouvrir un enregistrement à partir de la grille liée à l’entité et —s’il y a un enregistrement— exécutera l’action personnalisée au lieu d’exécuter le comportement par défaut d’ouverture de l’enregistrement de table.

Notes

  • Cette fonctionnalité est uniquement prise en charge pour Unified Interface.
  • Vous pouvez également utiliser Ribbon Workbench, outil communautaire, pour modifier visuellement des rubans à l’aide de l’interface utilisateur. Notez que les outils créés par la communauté ne sont pas pris en charge par Microsoft. Si vous avez des questions ou des problèmes avec les outils de la communauté, contactez l’éditeur de l’outil.

Pour spécifier une action personnalisée lorsqu’un enregistrement de table est sélectionné, procédez comme suit :

  1. Créez une ressource web pour effectuer l’action.
  2. Créez un bouton personnalisé sur le formulaire en modifiant le fichier customization.xml
  3. Importez le fichier customization.xml.

Étape : Créer une ressource web

Créez une ressource web pour modifier le comportement par défaut. Dans l’exemple suivant, si vous souhaitez ouvrir une URL au lieu d’afficher l’enregistrement, vous créez une ressource web JavaScript pour effectuer cette action.

  1. Connectez-vous à Power Apps et sélectionnez Solutions dans le volet gauche.

  2. Choisissez Nouvelle solution et renseignez les colonnes obligatoires pour la solution.

    Colonne Description
    Nom d’affichage Le nom indiqué dans la liste des solutions. Vous pourrez le modifier par la suite.
    Nom Le nom unique de la solution. Il est généré à l’aide de la valeur entrée dans le champ Nom complet. Vous pouvez le modifier avant d’enregistrer la solution, mais une fois la solution sauvegardée, vous ne pourrez plus le modifier.
    Éditeur Vous pouvez sélectionner l’éditeur par défaut, ou créer un nouvel éditeur. Nous vous recommandons de créer un éditeur que votre organisation utilisera de manière cohérente dans les environnements où vous utiliserez la solution.
    Version Entrez un numéro pour la version de la solution. Ceci est important uniquement si vous exportez votre solution. Le numéro de version est inclus dans le nom de fichier quand vous exportez la solution.
  3. Sélectionnez Enregistrer.

  4. Ouvrez la solution, puis sélectionnez Nouveau > Autre > Ressource web.

    Créer une ressource web.

  5. Entrez le nom de la ressource web et sélectionnez, pour le champ Type, JavaScript (JS).

  6. Sélectionnez Éditeur de texte, copiez le code ci-dessous, collez-le dans l’éditeur de texte et entrez la valeur de l’URL que vous souhaitez ouvrir :

    function ChangeBehavior(){
    
     // Enter the url
     var url =  "Enter the URL";
     var OpenUrlOptions = {height: 800, width: 1000};
     Xrm.Navigation.openUrl(url, openUrlOptions);
    }
    
  7. Enregistrez et publiez la ressource web.

Étape 2 : créer un bouton personnalisé

Créez un bouton personnalisé sur le formulaire dans lequel vous souhaitez modifier le comportement par défaut. Par exemple, si vous avez une sous-grille sur le formulaire de comptes qui affiche les enregistrements de contact dans la sous-grille, vous devez créer un bouton et l’ajouter au formulaire de contact. Vous pouvez créer un bouton en modifiant le fichier customization.xml.

  1. Ouvrez la solution que vous avez créée à l’étape 1 et ajoutez la table dans laquelle vous souhaitez créer le bouton. Il n’est pas nécessaire d’inclure tous les composants de table et toutes les métadonnées.

  2. Sélectionnez Ajouter existant > Table

  3. Dans la liste, sélectionnez Contact.

  4. Enregistrez et publiez la solution.

  5. Sélectionnez Exporter pour apporter des modifications au fichier customization.xml.

    Exporter la solution.

  6. Si vous avez apporté des modifications récentes qui n’ont pas encore été publiées, sélectionnez Publier, Exécuter pour vérifier si la solution présente des problèmes ou des dépendances, puis sélectionnez Suivant.

    Publier la solution.

  7. Sélectionnez l’option Non géré, puis sélectionnez Exporter.

    Solution non gérée.

  8. Dans la boîte de dialogue Télécharger, sélectionnez Enregistrer, puis dans la boîte de dialogue Téléchargement terminé, sélectionnez Ouvrir le dossier.

  9. Cliquez avec le bouton droit sur le fichier .zip compressé que vous avez téléchargé et sélectionnez Extraire tout.

  10. Sélectionnez un emplacement d’extraction des fichiers, puis cliquez sur Extraire.

    Le fichier customizations.xml est le fichier que vous allez modifier.

    Notes

    Vous pouvez activer ou désactiver le bouton ; faire l’un ou l’autre remplacera toujours le comportement par défaut ouvert.

  11. Ouvrez le fichier customization.xml, copiez le code ci-dessous, remplacez le code dans le RibbonDiffXml :

    <RibbonDiffXml>
    <CustomActions>
      <CustomAction Id="cr5c1.Mscrm.OpenRecordItem.CustomAction"
        Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children"
        Sequence="28">
        <CommandUIDefinition>
          <Button Alt="$LocLabels:Mscrm.OpenRecordItem.Alt"
            Command="Mscrm.OpenRecordItem"
            Id="Mscrm.OpenRecordItem"
            LabelText="$LocLabels:Mscrm.OpenRecordItem.LabelText"
            Sequence="28"
            TemplateAlias="o1"
            ToolTipTitle="$LocLabels:Mscrm.OpenRecordItem.ToolTipTitle"
            ToolTipDescription="$LocLabels:Mscrm.OpenRecordItem.ToolTipDescription" />
        </CommandUIDefinition>
      </CustomAction>
    </CustomActions>
    <Templates>
      <RibbonTemplates Id="Mscrm.Templates" />
    </Templates>
    <CommandDefinitions>
      <CommandDefinition Id="Mscrm.OpenRecordItem">
        <EnableRules />
        <DisplayRules />
        <Actions>
          <JavaScriptFunction FunctionName="ChangeBehavior"
            Library="$webresource:cr5c1_samplescript" />
        </Actions>
      </CommandDefinition>
    </CommandDefinitions>
    </RibbonDiffXml>
    

    Notes

    Vous devez remplacer le nom de la fonction ainsi que le nom de la ressource web dans le fichier XML ci-dessus. Modifiez l’exemple de fichier XML ci-dessus pour le remplacer par votre propre éditeur par défaut.

    Cet exemple illustre le remplacement d’un bouton par un autre bouton pour une sous-grille sur le formulaire de comptes qui affiche les enregistrements de contact dans la sous-grille. Par conséquent, Location est Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children". Vous devrez modifier cela pour que cela s’applique à un autre bouton.

Étape 3 : Importer le fichier XML

  1. Après avoir modifié le fichier customization.xml, cliquez avec le bouton droit pour sélectionner l’onglet customization.xml, puis sélectionnez Ouvrir le dossier conteneur.

  2. Sélectionnez tous les fichiers ou dossiers inclus lorsque vous avez extrait la solution. Cliquez avec le bouton droit sur les fichiers sélectionnés, sélectionnez Envoyer vers, puis Dossier compressé (zippé).

    Notes

    Cela crée un fichier .zip compressé dans le même dossier. Le nom du fichier peut varier, mais il est identique aux autres fichiers du dossier, mais avec une extension de nom de fichier .zip.

  3. Connectez-vous à Power Apps, puis sélectionnez Solutions dans le volet gauche.

  4. Sur la barre de commandes, sélectionnez Importer.

    Importer la solution.

  5. Dans la page Sélectionner le package de solution, sélectionnez Parcourir pour localiser le fichier compressé (.zip ou .cab) contenant la solution à importer.

  6. Cliquez sur Suivant.

  7. Sur la page qui affiche des informations sur la solution, sélectionnez Importer.

  8. Vous devrez peut-être attendre un peu, le temps que l’importation se termine. Affichez les résultats, puis sélectionnez Fermer.

Si vous avez importé des modifications nécessitant une publication, vous devez publier les personnalisations pour qu’elles soient disponibles.

Si l’importation échoue, vous verrez un rapport indiquant les erreurs ou avertissements qui ont été rencontrés. Sélectionnez Fichier journal de téléchargement pour entrer des informations sur la cause de l’échec de l’importation. La plupart du temps, l’échec d’une importation est dû au fait que la solution ne contenait pas certains composants requis.

Si vous téléchargez le fichier journal, vous recevrez un fichier XML que vous pouvez ouvrir avec Excel pour en afficher le contenu.

Voir aussi

Atelier du ruban
Personnaliser le ruban

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).