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

Note

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)

Découvrez comment remplacer le comportement d’ouverture par défaut des lignes de données dans une grille liée à une entité afin que la sélection d’une ligne exécute une action personnalisée, telle que l’ouverture d’une URL. Par défaut, l’une des actions suivantes ouvre l’enregistrement de table :

  • Double-clic sur la ligne de données ou sélection du 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 en définissant 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, si un enregistrement est présent, exécutera l’action personnalisée au lieu d’exécuter le comportement par défaut d’ouverture de l’enregistrement de table.

Note

  • 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, créez une ressource web JavaScript pour effectuer cette action.

Créer une solution ou modifier une solution existante

  1. Suivez les instructions de Créer une solution ou connectez-vous à Power Apps et sélectionnez Solutions dans le volet de navigation gauche. Sélectionnez la solution non managée que vous souhaitez modifier.

  2. Ouvrez la solution, puis sélectionnez Objets dans le volet de navigation gauche.

  3. Dans le menu, sélectionnez + Nouveau>Plus>ressource Web.

    Capture d’écran de l’option de menu pour créer une ressource web JavaScript.

  4. Copiez le code suivant, collez-le dans le champ Code et modifiez la valeur de l’URL à ouvrir :

    function ChangeBehavior(){
    
     // Enter the url
     var url =  "Enter the URL";
     var OpenUrlOptions = {height: 800, width: 1000};
     Xrm.Navigation.openUrl(url, openUrlOptions);
    }
    
  5. Entrez le nom de la ressource web, puis sélectionnez le type de fichier en tant que JavaScript (JS).

  6. 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. Vous n’avez pas besoin d’inclure tous les composants et métadonnées de table.

  2. Sélectionnez Ajouter un existant>Tableau.

  3. Dans la liste, sélectionnez Contact.

  4. Enregistrez et publiez la solution.

  5. Accédez à Vue d’ensemble et sélectionnez Exporter pour apporter des modifications au fichier customization.xml.

    Capture d’écran de la commande Exporter pour une solution non managée.

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

    Capture d’écran des options permettant de publier la solution avant l’exportation.

  7. Avec l’option Non managée sélectionnée, sélectionnez Exécuter le vérificateur de solution lors de l’exportation et sélectionnez Exporter.

    Capture d’écran de l’option Non managée sélectionnée pour l’exportation de solution.

  8. Une fois que la solution est prête, sélectionnez le bouton Télécharger.

    foo

  9. Dans la boîte de dialogue Téléchargements , sélectionnez Ouvrir le dossier.

  10. Cliquez avec le bouton droit pour sélectionner le fichier compressé .zip que vous avez téléchargé, puis sélectionnez Extraire tout....

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

    Le customizations.xml fichier est le fichier que vous modifiez.

    Note

    Vous pouvez activer ou désactiver le bouton ; cette opération remplace toujours le comportement par défaut ouvert.

  12. Ouvrez le customization.xml fichier, copiez le code suivant et remplacez le code à l’intérieur de :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>
    

    Note

    Vous devez remplacer le nom de la fonction et le nom de la ressource web dans le fichier XML précédent. Modifiez l’exemple de fichier XML précédent pour le remplacer par votre propre éditeur par défaut.

    Cet exemple modifie le bouton d’une sous-grille du formulaire Comptes qui affiche des enregistrements de contacts. Par conséquent, Location est Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children". Vous devez modifier cette valeur pour qu’elle s’applique à un autre bouton.

Étape 3 : Importer le fichier XML

  1. Après avoir modifié le customization.xml fichier, ouvrez 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 Compresser vers..., puis sélectionnez Fichier ZIP.

    Note

    Cette étape crée un fichier .zip compressé dans le même dossier. Le nom du fichier varie, mais il est identique à l’un des autres fichiers du dossier, sauf avec une extension de nom de fichier .zip.

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

  4. Dans la barre de commandes, sélectionnez Importer la solution.

    Capture d’écran de la commande Importer dans la barre de commandes Solutions.

  5. Dans la page Importer une solution , sélectionnez Parcourir pour rechercher le fichier compressé .zip qui contient la solution que vous souhaitez importer.

  6. Cliquez sur Suivant.

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

  8. Patientez quelques instants pendant que l’importation se termine. Affichez les résultats, puis sélectionnez Fermer.

Si vous importez des modifications nécessitant une publication, vous devez publier des personnalisations avant qu’elles ne soient disponibles.

Si l’importation ne réussit pas, vous voyez un rapport qui affiche des erreurs ou des avertissements capturés. Sélectionnez Télécharger le fichier journal pour voir les détails sur ce qui a provoqué 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.

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

Voir aussi

Ruban Workbench
Personnaliser le ruban