navigateTo (klient-API-referanse)

Navigerer til den angitte tabelllisten, tabellposten, HTML-nettressursen eller den egendefinerte siden.

Bemerkning

Denne metoden støttes bare på Enhetlig grensesnitt.

Syntaks

Bruk følgende syntaks til å ringe Xrm.Navigation.navigateTo().

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

Parametere

Metoden godtar følgende parametere.

Navn Type Obligatorisk Description
pageInput Objekt Ja Inndata om siden du vil navigere til. Se pageInput-parameteren
navigationOptions Objekt Nei Alternativer for å navigere til en side: om du vil åpne innebygd eller i en dialogboks. Hvis du ikke angir denne parameteren, åpner metoden siden linjebundet som standard.
successCallback funksjon Nei En funksjon som skal utføres etter vellykket innebygd navigasjon eller når en dialogboks lukkes. For sidetyper som støtter retur av en verdi, mottar funksjonen denne verdien som argument.
errorCallback Funksjon Nei En funksjon som skal utføres når operasjonen mislykkes.

pageInput Parameteren

Objektdefinisjonen endres avhengig av sidetypen du vil navigere til: enhetsliste, enhetsoppføring, instrumentbord, HTML-nettressurs, egendefinert side eller generativ side.

Enhetsliste

Objektet for enhetsliste inneholder følgende verdier.

Navn Type Description
pageType Streng Angi entitylist.
entityName Streng Det logiske navnet på tabellen som skal lastes inn i listekontrollen.
viewId Streng (Valgfritt) ID-en for visningen som skal lastes inn. Hvis du ikke angir det, navigerer appen til standard hovedvisning for tabellen.
viewType Streng (Valgfritt) Type visning som skal lastes inn. Angi savedquery eller userquery.

Enhetsoppføring

Enhetspostobjektet inneholder følgende verdier.

Navn Type Description
pageType Streng Angi entityrecord.
entityName Streng Logisk navn på tabellen som skjemaet skal vises for.
entityId Streng (Valgfritt) ID for tabellposten som skjemaet skal vises for. Hvis du ikke angir denne verdien, åpnes skjemaet i opprettingsmodus.
createFromEntity Oppslag (Valgfritt) Angir en post som gir standardverdier basert på tilordnede kolonneverdier. Oppslagsobjektet har følgende strengegenskaper: entityType, ID og navn (valgfritt).
data Objekt (Valgfritt) Et ordlisteobjekt som sender ekstra parametere til skjemaet.

Parameterne kan være tabellkolonner med standardverdier som er angitt i nye skjemaer (se Angi kolonneverdier ved hjelp av parametere som sendes til et skjema), eller egendefinerte parametere som er tilgjengelige i skjemaet ved hjelp av formContext.data.attributes (se Konfigurere et skjema til å godta egendefinerte spørringsparametere og formContext.data). Ugyldige parametere forårsaker en feil.

formId Streng (Valgfritt) ID for skjemaforekomsten som skal vises.
isCrossEntityNavigate boolsk (Valgfritt) Angir om skjemaet navigeres til fra en annen tabell ved hjelp av forretningsprosessflyt over flere tabeller.
isOfflineSyncError boolsk (Valgfritt) Angir om det er noen frakoblede synkroniseringsfeil.
processId Streng (Valgfritt) ID for forretningsprosessen som skal vises i skjemaet.
processInstanceId Streng (Valgfritt) ID for forretningsprosessforekomsten som skal vises i skjemaet.
relationship Objekt (Valgfritt) Definer et relasjonsobjekt for å vise relaterte poster i skjemaet. Se relasjon.
selectedStageId Streng (Valgfritt) ID for den valgte fasen i forretningsprosessforekomsten.
tabName Streng (Valgfritt) Angir fokus på fanen i skjemaet.

Lær hvordan du åpner hovedskjemaet i en dialogboks ved hjelp av klient-API

Relasjonsobjekt

Relasjonsobjektet, som brukes i enhetsposten, inneholder følgende verdier.

Navn Type Description
attributeName Streng Navnet på kolonnen som brukes for relasjon.
name Streng Navnet på relasjonen.
navigationPropertyName Streng Navnet på navigasjonsegenskapen for denne relasjonen.
relationshipType Nummer Relasjonstype. Angi én av følgende verdier: 0:OneToMany, 1:ManyToMany.
roleType Nummer Rolletype i relasjon. Angi én av følgende verdier: 1:Referencing, 2:AssociationEntity.

Instrumentbord

Bruk dette objektet som pageInput parameter når du vil åpne et instrumentbord.

Instrumentbordobjektet inneholder følgende verdier.

Navn Type Description
pageType Streng Angi dashboard.
dashboardId Streng ID-en for instrumentbordet som skal lastes inn. Hvis du ikke angir ID-en, navigerer appen til standardinstrumentbordet.

HTML-nettressurs

Bruk dette objektet som pageInput parameter når du vil åpne en HTML-nettressurs.

HTML-nettressursobjektet inneholder følgende verdier.

Navn Type Description
pageType Streng Angi webresource.
webresourceName Streng Navnet på nettressursen som skal lastes inn.
data Streng (Valgfritt) Dataene som skal sendes til nettressursen.

Egendefinert side

Bruk dette objektet som pageInput parameter når du vil åpne en egendefinert side.

Det egendefinerte sideobjektet inneholder følgende verdier.

Navn Type Description
pageType Streng Angi custom.
name Streng Det logiske navnet på den egendefinerte siden som skal åpnes.
entityName Streng (Valgfritt) Det logiske navnet på tabellen som skal gjøres tilgjengelig på den egendefinerte siden via Param("entityName").
recordId Streng (Valgfritt) ID for tabellposten som skal gjøres tilgjengelig på den egendefinerte siden via Param("recordId").

Genereringsside

Bruk dette objektet som pageInput parameter når du vil åpne en generativ side.

Hvis du vil bruke recordId, entityNameeller data, må målgenereringssiden konfigureres til å godta inndataparametere.

Det generative sideobjektet inneholder følgende verdier.

Navn Type Description
pageType Streng Angi generative.
pageId Streng ID-en for den generative siden som skal åpnes.
recordId Streng (Valgfritt) GUID-en for en post som skal sendes til siden.
entityName Streng (Valgfritt) Det logiske navnet på dataverstabellen recordIdsom tilsvarer .
data Objekt (Valgfritt) Et JSON-objekt som inneholder flere egendefinerte parametere som skal sendes til siden.

Se eksempler som viser hvordan du navigerer til og fra en generativ side ved hjelp av klient-API

Objektet navigationOptions inneholder følgende verdier.

Navn Type Description
target Nummer Angi 1 for å åpne linjebundet side. Angi 2 for å åpne siden i en dialogboks.
Resten av verdiene (bredde, høyde og posisjon) er også bare gyldige hvis du angir 2 i denne verdien (åpne siden i en dialogboks).
Obs! Du kan bare åpne enhetslister innebygd. Du kan åpne enhetsoppføringer, nettressurser og generative sider, enten innebygde eller i en dialogboks.
width Tall eller objekt (Valgfritt) Bredden på dialogboksen. Hvis du vil angi bredden i piksler, skriver du inn en numerisk verdi. Hvis du vil angi bredden i prosent, angir du et objekt av typen SizeValue med følgende egenskaper:
- value: Den numeriske verdien av typen Tall.
- unit: Måleenheten av typen Streng. Angi % eller px. Standardverdien er px.
height Tall eller objekt (Valgfritt) Høyden på dialogboksen. Hvis du vil angi høyden i piksler, skriver du inn en numerisk verdi. Hvis du vil angi bredden i prosent, angir du et objekt av typen SizeValue med følgende egenskaper:
- verdi: Den numeriske verdien av typen Tall.
- unit: Måleenheten av typen Streng. Angi % eller px. Standardverdien er px.
position Nummer (Valgfritt) Angi 1 for å åpne dialogboksen i midten. 2 Hvis du vil åpne dialogboksen på den andre siden. Standard er 1 (midten).
title Streng (Valgfritt) Dialogbokstittelen øverst i dialogboksen midt på eller siden.

returverdi

Returnerer et løfte. Verdien som sendes når løftet løses, avhenger av målet og sidetypen:

  • Linjebundet: Løftet løses når navigasjonen fullføres og returnerer ikke en verdi.
  • Dialogboks: Løftet løses når dialogboksen lukkes.
    • For en enhetsoppføring som er åpnet i opprettingsmodus, løses løftet med et objekt som inneholder en savedEntityReference matrise.
    • For en generativ side løses løftet med et objekt der returnValue egenskapen inneholder verdien som sist ble sendt til dataApi.setPageOutput(value). Hvis den generative siden ikke angir en utdataverdi, vil det å lukke dialogboksen ved å velge Avbryt eller lukkeknappen resultere i en udefinert returnValue.
    • Andre sidetyper returnerer ikke en verdi når dialogboksen lukkes.

Matrisen savedEntityReference som returneres for en enhetspost, inneholder disse egenskapene:

  • entityType: Det logiske navnet på tabellen.
  • ID: En strengpresentasjon av post-GUIDen.
  • navn: Den primære kolonneverdien for posten.

Eksempler

Eksemplene nedenfor viser navigering til ulike sidetyper innebygd og i en dialogboks.

Eksempel Viser
Åpne kontoliste Slik åpner du den innebygde hovedkontolisten.
Åpne en eksisterende kontopost i en dialogboks Slik åpner du en eksisterende kontopost i en midtstilt dialogboks med angitt høyde og bredde.
Åpne et kontoskjema i opprettingsmodus i en dialogboks Slik åpner du et kontoskjema i opprettingsmodus i en dialogboks og får tilgang til den lagrede postens ID og navn.
Åpne en HTML-nettressurs i en dialogboks Slik åpner du en HTML-nettressurs i en dialogboks med dimensjoner angitt i piksler.
Åpne en generativ side med inndataparametere i en dialogboks Slik sender du postkontekst og egendefinerte parametere til en dialogboks for en generativ side og leser returverdien.

Åpne eksempel på kontoliste

Åpner den innebygde hovedkontolisten.

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

Åpne en eksisterende kontopost i et dialogbokseksempel

Åpner et eksisterende kontoskjema i en dialogboks.

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

Lær hvordan du åpner hovedskjemaet i en dialogboks ved hjelp av klient-API

Åpne et kontoskjema i opprettingsmodus i et dialogbokseksempel

Åpner et kontoskjema i opprettingsmodus i en dialogboks og returnerer den opprettede postreferansen når den lagres.

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

Lær hvordan du åpner hovedskjemaet i en dialogboks ved hjelp av klient-API

Åpne en HTML-nettressurs i et eksempel på en dialogboks

Åpner en HTML-nettressurs i en dialogboks.

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

Åpne en generativ side med inndataparametere i et dialogbokseksempel

Åpner en generativ side som en midtstilt dialogboks, og sender en post-ID, enhetsnavn og egendefinerte dataparametere. Den generative siden må være konfigurert til å godta disse parameterne.

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(result) {
        const output = result?.returnValue;
        if (output) {
            console.log("Value returned by generative page:", output);
        }
    },
    function error(error) {
        console.log(error.message);
    }
);

Xrm.Navigation
Gå til og fra en generativ side
Navigere til og fra en egendefinert side (forhåndsvisning)