navigateTo (référence de l’API client)

Navigue vers la liste de tables spécifiée, l’enregistrement de table, la ressource Web HTML ou la page personnalisée.

Note

Cette méthode est uniquement prise en charge sur Unified Interface.

Syntaxe

Utilisez la syntaxe suivante pour appeler Xrm.Navigation.navigateTo().

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

Paramètres

La méthode accepte les paramètres suivants.

Name Type Obligatoire Description
pageInput Objet Yes Entrée concernant la page vers laquelle naviguer. Voir Paramètre pageInput
navigationOptions Objet No Options de navigations vers une page ; permettent de l’ouvrir en ligne ou dans une boîte de dialogue. Si vous ne spécifiez pas ce paramètre, la méthode ouvre la page inline par défaut.
successCallback function No Une fonction à exécuter en cas de navigation réussie vers la page dans le cas de la navigation en ligne et lors de la fermeture de la boîte de dialogue dans le cas de la navigation vers une boîte de dialogue.
errorCallback Fonction No Fonction à exécuter lorsque l’opération échoue.

pageInput Paramètre

La définition d’objet change en fonction du type de page pour accéder à la liste d’entités, à l’enregistrement d’entité, au tableau de bord, à la ressource web HTML, à la page personnalisée ou à la page générative.

Liste des entités

L’objet liste d’entités contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez entitylist.
entityName Chaîne Le nom logique de la table à charger dans le contrôle de liste.
viewId Chaîne (Facultatif) ID de la vue à charger. Si vous ne le spécifiez pas, l’application accède à la vue principale par défaut de la table.
viewType Chaîne (Facultatif) Type de vue à charger. Spécifiez savedquery ou userquery.

Enregistrement d’entité

L’objet d’enregistrement d’entité contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez entityrecord.
entityName Chaîne Nom logique de la table pour laquelle afficher le formulaire.
entityId Chaîne ID de l’enregistrement de table pour lequel afficher le formulaire (facultatif). Si vous ne spécifiez pas cette valeur, le formulaire s’ouvre en mode création.
createFromEntity Recherche (Facultatif) Désigne un enregistrement qui fournit des valeurs par défaut basées sur les valeurs de colonne mappées. L’objet de recherche a les propriétés de chaîne suivantes : entityType, ID et name (facultatif).
data Objet Objet de dictionnaire qui transmet des paramètres supplémentaires au formulaire (facultatif).

Les paramètres peuvent être des colonnes de table avec des valeurs par défaut qui sont définies sur de nouveaux formulaires (voir Définir les valeurs de colonne en utilisant les paramètres transmis à un formulaire), ou des paramètres personnalisés accessibles sur le formulaire à l’aide de formContext.data.attributes (voir Configurer un formulaire pour accepter les paramètres de chaîne de requête personnalisés et formContext.data). Les paramètres non valides provoquent une erreur.

formId Chaîne (Facultatif) ID de l’instance de formulaire à afficher.
isCrossEntityNavigate Booléen Indique si le formulaire est accessible depuis une autre table à l’aide de la table croisée flux des processus d’entreprise (facultatif).
isOfflineSyncError Booléen Indique s’il existe des erreurs de synchronisation hors ligne (facultatif).
processId Chaîne (Facultatif) ID du processus métier à afficher sur le formulaire.
processInstanceId Chaîne (Facultatif) ID de l’instance de processus métier à afficher sur le formulaire.
relationship Objet Définissez un objet de relation pour afficher les enregistrements associés dans le formulaire (facultatif). Voir relationship.
selectedStageId Chaîne ID de la phase sélectionnée dans l’instance de processus d’entreprise (facultatif).
tabName Chaîne Définit le focus sur l’onglet du formulaire (facultatif).
Objet de relation

L’objet de relation, utilisé dans l’enregistrement d’entité, contient les valeurs suivantes.

Name Type Description
attributeName Chaîne Nom de la colonne utilisée pour la relation.
name Chaîne Nom de la relation.
navigationPropertyName Chaîne Nom de la propriété de navigation pour cette relation.
relationshipType Nombre Type de relation. Spécifiez une des valeurs suivantes : 0 : OneToMany, 1 : ManyToMany.
roleType Nombre Type de rôle dans la relation. Spécifiez l’une des valeurs suivantes : 1 : Referencing, 2 : AssociationEntity.

Tableau de bord

Utilisez cet objet comme pageInput paramètre lorsque vous souhaitez ouvrir un tableau de bord.

L’objet du tableau de bord contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez dashboard.
dashboardId Chaîne ID du tableau de bord à charger. Si vous ne spécifiez pas l’ID, l’application accède au tableau de bord par défaut.

Ressource Web HTML

Utilisez cet objet comme pageInput paramètre lorsque vous souhaitez ouvrir une ressource web HTML.

L’objet de ressource Web HTML contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez webresource.
webresourceName Chaîne Nom de la ressource Web à charger.
data Chaîne (Facultatif) Les données à transmettre à la ressource Web.

Page personnalisée

Utilisez cet objet comme pageInput paramètre lorsque vous souhaitez ouvrir une page personnalisée.

L’objet de page personnalisé contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez custom.
name Chaîne Nom logique de la page personnalisée à ouvrir.
entityName Chaîne (facultatif) Le nom logique de la table à rendre disponible dans la page personnalisée via Param("entityName").
recordId Chaîne (Facultatif) L’ID de l’enregistrement de la table à rendre disponible dans la page personnalisée via Param("recordId").

Page Générative

Utilisez cet objet comme pageInput paramètre lorsque vous souhaitez ouvrir une page générative.

Pour utiliser recordId, entityNameou data, la page de génération cible doit être configurée pour accepter les paramètres d’entrée.

L’objet de page générative contient les valeurs suivantes.

Name Type Description
pageType Chaîne Spécifiez generative.
pageId Chaîne ID de la page générative à ouvrir.
recordId Chaîne (Facultatif) GUID d’un enregistrement à passer à la page.
entityName Chaîne (Facultatif) Nom logique de la table Dataverse correspondant au recordId.
data Objet (Facultatif) Objet JSON contenant des paramètres personnalisés supplémentaires à passer à la page.

Voir des exemples montrant comment accéder à une page générative à l’aide de l’API cliente

L’objet navigationOptions contient les valeurs suivantes.

Name Type Description
target Nombre Spécifiez 1 l’ouverture de la page inline. Spécifiez 2 l’ouverture de la page dans une boîte de dialogue.
En outre, le reste des valeurs (largeur, hauteur et position) sont valides uniquement si vous spécifiez 2 cette valeur (ouvrir la page dans une boîte de dialogue).
Remarque : Vous ne pouvez ouvrir que des listes d’entités inline. Vous pouvez ouvrir des enregistrements d’entité, des ressources web et des pages génératives inline ou dans une boîte de dialogue.
width Nombre ou Objet (Facultatif) Largeur de la boîte de dialogue. Pour spécifier la largeur en pixels, tapez une valeur numérique. Pour spécifier la largeur en pourcentage, spécifiez un objet de type SizeValue avec les propriétés suivantes :
- value : la valeur numérique de type Nombre.
- unit : L’unité de mesure de type Chaîne. Spécifiez % ou px. La valeur par défaut est px.
height Nombre ou Objet (Facultatif) Hauteur de la boîte de dialogue. Pour spécifier la hauteur en pixels, tapez une valeur numérique. Pour spécifier la largeur en pourcentage, spécifiez un objet de type SizeValue avec les propriétés suivantes :
- valeur : la valeur numérique de type Nombre.
- unit : L’unité de mesure de type Chaîne. Spécifiez % ou px. La valeur par défaut est px.
position Nombre (Facultatif) Spécifiez 1 pour ouvrir la boîte de dialogue au centre ; 2 pour ouvrir la boîte de dialogue de l’autre côté. La valeur par défaut est 1 (au centre).
title Chaîne (Facultatif) Le titre de la boîte de dialogue en haut de la boîte de dialogue centrale ou latérale.

Valeur renvoyée

Renvoie une promesse. La valeur passée lorsque la promesse est résolue dépend de la cible :

  • inline : La promesse se résout immédiatement et ne retourne aucune valeur.

  • boîte de dialogue : La promesse se résout lorsque la boîte de dialogue se ferme. Un objet est transmis uniquement si le pageType = entityRecord et que vous avez ouvert le formulaire en mode création. L’objet possède un tableau savedEntityReference avec les propriétés suivantes pour identifier l’enregistrement de table créé :

    • entityType : nom logique de la table.
    • id : Représentation sous forme de chaîne d’une valeur GUID de l’enregistrement.
    • nom : valeur de colonne principale de l’enregistrement affiché ou créé.

Example

Les exemples suivants illustrent la navigation vers différents types de pages inline et dans une boîte de dialogue.

Exemple 1 : Ouvrir une liste de comptes

Ouvre la liste des comptes principaux inline.

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Exemple 2 : Ouvrir un enregistrement de compte existant dans une boîte de dialogue

Ouvre un formulaire de compte existant dans une boîte de dialogue.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Exemple 3 : ouvrir un formulaire de compte en mode création dans une boîte de dialogue

Ouvre un formulaire de compte en mode création dans une boîte de dialogue et retourne la référence d’enregistrement créée lors de l’enregistrement.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account"    
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success(result) {
            console.log("Record created with ID: " + result.savedEntityReference[0].id + 
            " Name: " + result.savedEntityReference[0].name)
            // Handle dialog closed
    },
    function error() {
            // Handle errors
    }
);

Exemple 4 : ouvrir une ressource Web HTML dans une boîte de dialogue

Ouvre une ressource web HTML dans une boîte de dialogue.

var pageInput = {
    pageType: "webresource",
    webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
    target: 2,
    width: 500, // value specified in pixel
    height: 400, // value specified in pixel
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Exemple 5 : Ouvrir une page générative avec des paramètres d’entrée dans une boîte de dialogue

Ouvre une page générative sous la forme d’une boîte de dialogue centrée, en passant un ID d’enregistrement, un nom d’entité et des paramètres de données personnalisés. La page générative doit être configurée pour accepter ces paramètres.

var pageInput = {
    pageType: "generative",
    pageId: "<genPageID>", // replace with the ID of your generative page
    recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", // replace with actual record GUID
    entityName: "account",
    data: { status: "active", category: "premium" }
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit: "%"},
    width: {value: 70, unit: "%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Xrm.Navigation
Accéder à une page générative et y accéder
Navigation vers et depuis une page personnalisée (aperçu)