Ouvre les formulaires, vues, boîtes de dialogue et rapports avec une URL

Les éléments accessibles via une adresse URL vous permettent d’inclure des liens vers des formulaires, des vues, des dialogues et des rapports Dynamics 365 Customer Engagement (on-premises) dans d’autres applications. De cette manière, vous pouvez facilement étendre d’autres applications, rapports ou sites web de sorte que les utilisateurs puissent afficher des informations et effectuer des actions sans changer d’applications.

Note

  • Les formulaires, les vues, les dialogues et les rapports accessibles via une adresse URL ne peuvent pas ignorer l’étape de sécurité Dynamics 365 Customer Engagement (on-premises). Seuls les utilisateurs Dynamics 365 Customer Engagement (on-premises) autorisés, en fonction de leurs rôles de sécurité, peuvent accéder aux données et aux enregistrements qu’ils voient.
    • Utilisez Xrm.Navigation.openForm lorsque vous ouvrez les formulaires d’entité par programme au sein de l’application en utilisant les ressources web. N’utilisez pas window.open.
    • En dehors de l’application, où les pages n’ont pas accès à la fonction Xrm.Navigation.openForm, utilisez window.open ou un lien pour ouvrir un enregistrement ou un formulaire spécifique pour une entité.

Formulaires et vues accessibles via une adresse URL

Tous les formulaires et toutes les vues d’entité s’affichent dans la page main.aspx. Les paramètres de chaîne de requête passés à ce contrôle de page s’affichent. Par exemple :

Pour ouvrir un nouveau formulaire d’enregistrement d’entité de compte pour Dynamics 365 Customer Engagement (on-premises) sur site :

https://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord  

Pour ouvrir un formulaire d’enregistrement d’entité de compte pour Dynamics 365 for Customer Engagement où l’identifiant est {91330924-802A-4B0D-A900-34FD9D790829} :

https://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D  

Pour ouvrir la vue Opportunités fermées pour Dynamics 365 for Customer Engagement :

https://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039  

Pour ouvrir la vue Contacts actifs pour Dynamics 365 for Customer Engagement sans la barre de navigation ni la barre de commandes

https://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false  

Note

L’ouverture des formulaires dans une fenêtre de dialogue à l’aide de showModalDialog ou showModelessDialog n’est pas prise en charge.

L’affichage d’un formulaire d’entité dans un IFrame imbriqué dans un autre formulaire d’entité n’est pas pris en charge.

Utilisez généralement la méthode getClientUrl pour extraire l’URL racine de l’organisation pour Dynamics 365 Customer Engagement (on-premises) local et Dynamics 365 for Customer Engagement.

Paramètres de chaîne de requête pour la page Main.aspx

Pourboire

Pour obtenir la valeur d’ID d’un enregistrement, cliquez sur le bouton Envoyer un lien dans la barre de commandes. Voici un exemple de ce qui est ouvert dans votre application de messagerie :

<https://mycrm/myOrg/main.aspx?etc=4&id=%7b899D4FCF-F4D3-E011-9D26-00155DBA3819%7d&pagetype=entityrecord>.

Le paramètre ID passé à l’URL est la valeur d’ID encodée de l’enregistrement. Dans cet exemple, la valeur d’ID est {899D4FCF-F4D3-E011-9D26-00155DBA3819}. La version encodée de l’interface GUID remplace les crochets ouvrants et fermants « { » et « } » par « %7B » et « %7D », respectivement,

Voici les paramètres de chaîne de requête utilisés avec la page main.aspx pour ouvrir les formulaires d’entité :

Paramètre Description
etn Nom logique de l’entité. Important: N’utilisez pas le paramètre etc (code de type d’entité) contenant un code de nombre entier pour l’entité. Ce code de nombre entier varie pour les entités personnalisées dans différentes organisations.
extraqs Facultatif pour les formulaires. Ce paramètre contient des paramètres encodés dans ce paramètre.

Utilisez ce paramètre pour passer des valeurs à un formulaire. Pour plus d’informations, voir Définir les valeurs de champ utilisant les paramètres transmis à un formulaire.

Lorsqu’une entité a plusieurs formulaires définis, vous pouvez utiliser ce paramètre pour spécifier le formulaire à ouvrir en passant le paramètre formid encodé avec la valeur égale à la valeur d’ID du formulaire. Par exemple, pour ouvrir un formulaire avec l’ID « 6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf », ajoutez la valeur du paramètre extraqs : formid%3D6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf%0D%0A.
pagetype Type de page. Deux valeurs sont envisageables :

- entityrecord
Affiche un formulaire d’enregistrement d’entité.
- entitylist
Affiche une vue d’entité.
id Facultatif pour les formulaires. Procédez ainsi lorsque vous ouvrez un enregistrement d’entité spécifique. Passez l’identificateur GUID encodé pour l’entité. La version encodée de l’interface GUID remplace les crochets ouvrants et fermants « { » et « } » par « %7B » et « %7D », respectivement, par exemple {91330924-802A-4B0D-A900-34FD9D790829} est %7B91330924-802A-4B0D-A900-34FD9D790829%7D.
viewid Requis pour les vues. Il s’agit de l’ID de l’enregistrement d’entité savedquery ou userquery qui définit la vue. Le moyen le plus facile d’obtenir l’URL d’une vue est de la copier. Pour plus d’informations, consultez Copier l’URL d’une vue.
viewtype Définit le type de vue. Les valeurs possibles sont les suivantes :

- 1039
Utilisation pour une vue système. viewid représente l’ID d’un enregistrement savedquery.
- 4230
Utilisation pour une vue personnelle. viewid représente l’ID d’un enregistrement userquery.
navbar Contrôle si la barre de navigation est affichée et si la navigation dans l’application est disponible dans les zones et les sous-zones définies dans le plan de site.

- on
La barre de navigation s’affiche. Il s’agit du comportement par défaut si le paramètre navbar n’est pas utilisé.
- off
La barre de navigation ne s’affiche pas. Les utilisateurs peuvent accéder à d’autres éléments de l’interface utilisateur ou aux boutons Précédent et Suivant.
- entity
Dans un formulaire d’entité, seules les options de navigation pour les entités associées sont disponibles. Après la navigation vers une entité associée, un bouton Précédent s’affiche dans la barre de navigation pour permettre le renvoi vers l’enregistrement d’origine.
cmdbar Contrôle si la barre de commandes s’affiche. Remarque : Cette fonctionnalité prend en charge les exigences liées à l’application Unified Service Desk pour Dynamics 365. L’utilisation de cette fonctionnalité pour afficher un formulaire d’entité dans un IFrame imbriqué dans un autre formulaire d’entité n’est pas prise en charge.

- true
La barre de commandes s’affiche. Il s’agit du paramètre par défaut.
- false
La barre de commandes est masquée.

Copier l’URL d’une vue

Plusieurs vues dans Dynamics 365 Customer Engagement (on-premises) permettent à un utilisateur de copier l’URL d’une vue spécifique ou d’envoyer un courrier électronique avec l’URL d’une vue spécifique incorporée dans le message. Cette fonctionnalité facilite la communication entre les utilisateurs et permet d’accéder à une URL d’une vue que les utilisateurs peuvent inclure dans une autre application, comme un site SharePoint.

Note

N’utilisez pas l’URL pour inclure la vue dans la navigation d’application à l’aide du plan de site. Pour plus d’informations, voir Afficher une vue dans la navigation d’application à l’aide du plan du site.

La page affichée par l’URL inclut la vue complète. Elle contient le ruban mais pas la navigation dans l’application.

Obtenir l’URL d’une vue
  1. Ouvrez la vue à utiliser.

  2. Dans la barre de commandes, cliquez sur Envoyer un lien, puis sur De la vue active.

  3. Collez le lien dans Notepad et modifiez-le pour extraire uniquement la partie URL du texte souhaité.

Note

  • Les vues qui utilisent le contexte d’utilisateur en tant que paramètre, comme Mes comptes, ne peuvent pas être copiées.
    • L’interface GUID qui représente les vues système pour les entités système est la même pour chaque installation Dynamics 365 Customer Engagement (on-premises) locale. L’interface GUID pour les entités et les vues personnalisées est unique pour chaque installation Dynamics 365 Customer Engagement (on-premises).

Afficher une vue dans la navigation d’application à l’aide du plan du site

Lorsque vous modifiez la navigation d’application au moyen du plan du site, n’utilisez pas l’URL de la vue que vous avez copiée de l’application avec la procédure fournie dans Copier l’URL d’une vue pour la définir comme URL. Cette URL affiche une page qui inclut le ruban et produit des résultats indésirables en cas d’utilisation dans un attribut URL <SubArea>.

Pour afficher une liste d’enregistrements d’entités dans l’application pour une sous-zone (SubArea), définissez la valeur d’attribut d’entité (Entity). Cette opération affiche la vue par défaut de cette entité et fournit le titre et l’icône appropriés.

Toutefois, si vous souhaitez utiliser un élément SubArea qui utilise une vue par défaut initiale spécifique, utilisez le modèle URL suivant lorsque vous utilisez Unified Interface.

[Organization Url]/main.aspx?pagetype=entitylist&etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d&viewType=1039

Pour le client web hérité, utilisez l’URL suivante.

[Organization Url]/homepage.aspx?etn=<entity logical name >&viewid=%7b00000000-0000-0000-0000-000000000000%7d  

Lorsque vous utilisez cette URL, vous devez également spécifier les valeurs appropriées pour <Titles> et <Descriptions>, et spécifiez une icône pour l’entité.

Note

Si vous spécifiez la vue à l’aide de la page .../homepage.aspx, le sélecteur de vue apparaîtra toujours. Si l’utilisateur modifie la vue, Dynamics 365 Customer Engagement (on-premises) se souviendra de la dernière sélection de l’utilisateur et la vue par défaut initiale s’affichera lorsqu’il fermera et ouvrira de nouveau son navigateur.

Ouverture d’un processus de dialogue à l’aide d’une URL

Une personnalisation courante consiste à permettre à un utilisateur d’ouvrir un processus de dialogue spécifique dans le contexte d’un enregistrement spécifique. Par exemple, vous pouvez ajouter un bouton personnalisé au ruban pour une entité spécifique à l’aide de la valeur d’ID pour l’enregistrement actif en tant que paramètre d’entrée pour le processus de dialogue.

Pour ouvrir un dialogue, vous avez besoin de ce qui suit :

  • L’identificateur unique du dialogue.

  • Le nom logique de l’entité pour laquelle le dialogue est créé.

  • L’identificateur unique pour l’enregistrement pour lequel vous souhaitez disposer du dialogue.

Pourboire

Pour obtenir l’identificateur unique du dialogue, accédez à Paramètres, dans la solution par défaut, puis sélectionnez Processus. Sélectionnez un processus, puis dans les options Actions de la barre de commandes, cliquez sur Copier un lien. Cela copiera un lien pour modifier le dialogue dans le Presse-papiers, par exemple, [URL de l’organisation]/sfa/workflow/edit.aspx?id=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d.

Cet exemple montre les paramètres d’URL et de chaîne de requête permettant d’ouvrir un dialogue :

[organization url]/cs/dialog/rundialog.aspx?DialogId=[dialog unique identifier]&EntityName=[entity logical name]&ObjectId=[unique identifier for the record]  

Par exemple, pour ouvrir le dialogue avec l’ID ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976} avec l’ID d’enregistrement de compte = {40C9ADFD-90A8-DF11-840E-00155DBA380F}, utilisez les URL dans l’exemple suivant.

[organization url]/cs/dialog/rundialog.aspx?DialogId=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d&EntityName=account&ObjectId=%7b40C9ADFD-90A8-DF11-840E-00155DBA380F%7d  

Pourboire

Pour les navigateurs autres que Internet Explorer, si un processus de dialogue est ouvert à partir d’un lien, le bouton Terminer peut ne pas fonctionner. Les données sont enregistrées, mais l’utilisateur devra cliquer sur le bouton Fermer dans la fenêtre pour la fermer. En effet, d’autres navigateurs ne fournissent aucune méthode window.close si la fenêtre n’est pas ouverte avec JavaScript à partir d’une autre fenêtre. Si possible, utilisez JavaScript et la méthode window.open pour ouvrir les processus de dialogue au lieu de simplement fournir des liens.

Vous pouvez créer une fonction JavaScript pour ouvrir le dialogue comme illustré dans l’exemple suivant :

function openDialogProcess(dialogId, entityName, objectId)  
{  
 var url = Xrm.Page.context.getClientUrl() +  
  "/cs/dialog/rundialog.aspx?DialogId=" +  
  dialogId + "&EntityName=" +  
  entityName + "&ObjectId=" +  
  objectId;  
 window.open(url);  
}  

Ouverture d’un rapport à l’aide d’une URL

Vous pouvez ouvrir un rapport en transmettant les valeurs de paramètres appropriées dans l’URL suivante : [organization url]/crmreports/viewer/viewer.aspx.

Cette URL accepte les paramètres suivants :

action
Les deux valeurs possibles pour ce paramètre sont run ou filter. Lorsque run est utilisé, le rapport est affiché dans les filtres par défaut. Lorsque filter est utilisé, le rapport affiche un filtre que l’utilisateur peut modifier avant de choisir le bouton Exécuter le rapport pour afficher le rapport.

helpID
Ce paramètre est facultatif. Pour les rapports qui sont inclus avec Dynamics 365 Customer Engagement (on-premises), la valeur de ce paramètre permet au bouton Aide d’afficher le contenu approprié relatif à ce rapport lorsque Aide sur cette page est sélectionné. La valeur doit correspondre à la valeur d’attribut FileName de rapport.

id
Ce paramètre est la valeur d’attribut ReportId de rapport.

Les exemples suivants illustrent les URL permettant d’ouvrir les rapports dans Dynamics 365 Customer Engagement (on-premises).

Ouvrez le rapport Incidents négligés à l’aide du filtre par défaut :

[organization url]/crmreports/viewer/viewer.aspx?action=run&helpID=Neglected%20Cases.rdl&id=%7b8c9f3e6f-7839-e211-831e-00155db7d98f%7d  

Ouvrez le rapport Premiers articles de la Base de connaissances et invitez l’utilisateur à définir des valeurs de filtre :

[organization url]/crmreports/viewer/viewer.aspx?action=filter&helpID=Top%20Knowledge%20Base%20Articles.rdl&id=%7bd84ec390-7839-e211-831e-00155db7d98f%7d  

La fonctionnalité suivante montre comment encoder correctement les valeurs de l’URL :

function getReportURL(action,fileName,id) {  
 var orgUrl = GetGlobalContext().getClientUrl();  
 var reportUrl = orgUrl +   
  "/crmreports/viewer/viewer.aspx?action=" +  
  encodeURIComponent(action) +  
  "&helpID=" +  
  encodeURIComponent(fileName) +  
  "&id=%7b" +  
  encodeURIComponent(id) +  
  "%7d";  
 return reportUrl;  
}  

Voir aussi

Étendre Dynamics 365 Customer Engagement (on-premises) sur le client
Définir les valeurs de champ utilisant les paramètres transmis à un formulaire
Configurer un formulaire pour accepter les paramètres de chaîne de requête personnalisés
Modifier la navigation dans l’application à l’aide du plan de site
Personnaliser le ruban pour Dynamics 365 Customer Engagement (on-premises)Création de scripts côté client dans Customer Engagement à l’aide de JavaScriptRessources web pour Dynamics 365 Customer Engagement (on-premises)
Démarrer une boîte de dialogue à l’aide d’une URL