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.

Notes

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

Syntaxe

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

Paramètres

Nom Type Requis Description
pageInput Object Oui Entrée concernant la page vers laquelle naviguer. Voir Paramètre pageInput
navigationOptions Object Non 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 page est ouverte en ligne par défaut.
successCallback function Non 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 Function Non Fonction à exécuter lorsque l’opération échoue.

Paramètre pageInput

La définition de l’objet change en fonction du type de page vers laquelle naviguer : liste d’entités, enregistrement d’entité, tableau de bord, ressource Web HTML ou page personnalisée.

Liste d’entités

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

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

Enregistrement d’entité

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

Nom Type Description
pageType String Spécifier entityrecord.
entityName String Nom logique de la table pour laquelle afficher le formulaire.
entityId String ID de l’enregistrement de table pour lequel afficher le formulaire (facultatif). Si vous ne spécifiez pas cette valeur, le formulaire sera ouvert en mode création.
createFromEntity Lookup Désigne un enregistrement qui fournira des valeurs par défaut en fonction des valeurs de colonne mappées (facultatif). L’objet de recherche a les propriétés de chaîne suivantes : entityType, id et name (facultatif).
data Object 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 les nouveaux formulaires (voir Définir des valeurs de colonne à l’aide de 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). Des paramètres non valides provoquent une erreur.

formId String ID de l’instance de formulaire à afficher (facultatif).
isCrossEntityNavigate Valeur booléenne Indique si le formulaire est accessible depuis une autre table à l’aide de la table croisée flux des processus d’entreprise (facultatif).
isOfflineSyncError Valeur booléenne Indique s’il existe des erreurs de synchronisation hors ligne (facultatif).
processId String ID du processus d’entreprise à afficher dans le formulaire (facultatif).
processInstanceId String ID de l’instance du processus d’entreprise à afficher dans le formulaire (facultatif).
relationship Object Définissez un objet de relation pour afficher les enregistrements associés dans le formulaire (facultatif). Voir relationship.
selectedStageId String ID de la phase sélectionnée dans l’instance de processus d’entreprise (facultatif).
tabName String 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.

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

Tableau de bord

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

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

Ressource Web HTML

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

Nom Type Description
pageType String Spécifier webresource.
webresourceName String Nom de la ressource Web à charger.
data String (Facultatif) Les données à transmettre à la ressource Web.

Page personnalisée

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

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

L’objet navigationOptions contient les valeurs suivantes.

Nom Type Description
target Chiffre Spécifiez 1 pour ouvrir la page en ligne ; 2 pour ouvrir la page dans une boîte de dialogue.
De plus, le reste des valeurs (largeur, taille, et position) ne sont valides que si vous avez spécifié 2 dans cette valeur (ouvrir la page dans une boîte de dialogue).
Remarque : Les listes d’entités ne peuvent être ouvertes qu’en ligne ; les enregistrements d’entité et les ressources Web peuvent être ouverts en ligne 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, entrez simplement 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, entrez simplement 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 Chiffre (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 String (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 transmise une fois la promesse résolue dépend de la cible :

  • en ligne : la promesse est résolue immédiatement et ne renvoie aucune valeur.

  • boîte de dialogue : la promesse se résout lorsque la boîte de dialogue est fermée. 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éé.

Exemple

Exemple 1 : Ouvrir une liste de comptes

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

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "5a57f2c3-5672-ea11-a812-000d3a339706" //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

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

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
    }
);

Xrm.Navigation
Navigation vers et depuis une page personnalisée (aperçu)

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é).