navigateTo (klient-API-referens)

Navigerar till den angivna tabelllistan, tabellposten, HTML-webbresursen eller den anpassade sidan.

Anmärkning

Den här metoden stöds endast i Enhetligt gränssnitt.

Syntax

Använd följande syntax för att anropa Xrm.Navigation.navigateTo().

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

Parameters

Metoden accepterar följande parametrar.

Name Type Obligatoriskt Description
pageInput Objekt Yes Indata om sidan att navigera till. Se parametern pageInput
navigationOptions Objekt No Alternativ för att navigera till en sida: om du vill öppna infogat eller i en dialogruta. Om du inte anger den här parametern öppnas sidan infogad som standard.
successCallback function No En funktion som ska köras vid lyckad navigering till sidan när du navigerar infogat och stänger dialogrutan när du navigerar till en dialogruta.
errorCallback Funktion No En funktion som ska köras när åtgärden misslyckas.

pageInput Parametern

Objektdefinitionen ändras beroende på vilken typ av sida som ska navigeras till: entitetslista, entitetspost, instrumentpanel, HTML-webbresurs, anpassad sida eller generativ sida.

Entitetslista

Objektet för entitetslistan innehåller följande värden.

Name Type Description
pageType Sträng Ange entitylist.
entityName Sträng Det logiska namnet på tabellen som ska läsas in i listkontrollen.
viewId Sträng (Valfritt) ID:t för vyn som ska läsas in. Om du inte anger det navigerar appen till standardvyn för tabellen.
viewType Sträng (Valfritt) Typ av vy som ska läsas in. Ange savedquery eller userquery.

Entitetspost

Entitetspostobjektet innehåller följande värden.

Name Type Description
pageType Sträng Ange entityrecord.
entityName Sträng Logiskt namn på tabellen som formuläret ska visas för.
entityId Sträng (Valfritt) ID för tabellposten som formuläret ska visas för. Om du inte anger det här värdet öppnas formuläret i skapa-läge.
createFromEntity Sökning (Valfritt) Anger en post som tillhandahåller standardvärden baserat på mappade kolumnvärden. Uppslagsobjektet har följande strängegenskaper: entityType, id och namn (valfritt).
data Objekt (Valfritt) Ett ordlisteobjekt som skickar extra parametrar till formuläret.

Parametrarna kan vara tabellkolumner med standardvärden som anges i nya formulär (se Ange kolumnvärden med parametrar som skickas till ett formulär) eller anpassade parametrar som används i formuläret med formContext.data.attributes (se Konfigurera ett formulär för att acceptera anpassade frågesträngsparametrar och formContext.data). Ogiltiga parametrar orsakar ett fel.

formId Sträng (Valfritt) ID för formulärinstansen som ska visas.
isCrossEntityNavigate Boolean (Valfritt) Anger om formuläret navigeras till från en annan tabell med affärsprocessflöde mellan tabeller.
isOfflineSyncError Boolean (Valfritt) Anger om det finns några offlinesynkroniseringsfel.
processId Sträng (Valfritt) ID för den affärsprocess som ska visas i formuläret.
processInstanceId Sträng (Valfritt) ID för den affärsprocessinstans som ska visas i formuläret.
relationship Objekt (Valfritt) Definiera ett relationsobjekt för att visa relaterade poster i formuläret. Se relation.
selectedStageId Sträng (Valfritt) ID för den valda fasen i affärsprocessinstansen.
tabName Sträng (Valfritt) Anger fokus på fliken i formuläret.
Relationsobjekt

Relationsobjektet, som används i entitetsposten, innehåller följande värden.

Name Type Description
attributeName Sträng Namnet på kolumnen som används för relationen.
name Sträng Namnet på relationen.
navigationPropertyName Sträng Namnet på navigeringsegenskapen för den här relationen.
relationshipType Nummer Typ av relation. Ange något av följande värden: 0:OneToMany, 1:ManyToMany.
roleType Nummer Rolltyp i relation. Ange något av följande värden: 1:Referencing, 2:AssociationEntity.

Instrumentpanel

Använd det här objektet som pageInput parameter när du vill öppna en instrumentpanel.

Instrumentpanelsobjektet innehåller följande värden.

Name Type Description
pageType Sträng Ange dashboard.
dashboardId Sträng ID:t för instrumentpanelen som ska läsas in. Om du inte anger ID:t navigerar appen till standardinstrumentpanelen.

HTML-webbresurs

Använd det här objektet som pageInput parameter när du vill öppna en HTML-webbresurs.

HTML-webbresursobjektet innehåller följande värden.

Name Type Description
pageType Sträng Ange webresource.
webresourceName Sträng Namnet på webbresursen som ska läsas in.
data Sträng (Valfritt) Data som ska skickas till webbresursen.

Anpassad sida

Använd det här objektet som pageInput parameter när du vill öppna en anpassad sida.

Det anpassade sidobjektet innehåller följande värden.

Name Type Description
pageType Sträng Ange custom.
name Sträng Det logiska namnet på den anpassade sidan som ska öppnas.
entityName Sträng (Valfritt) Det logiska namnet på tabellen som ska göras tillgänglig på den anpassade sidan via Param("entityName").
recordId Sträng (Valfritt) ID för den tabellpost som ska göras tillgänglig på den anpassade sidan via Param("recordId").

Generativ sida

Använd det här objektet som pageInput parameter när du vill öppna en generativ sida.

Om du vill använda recordId, entityName, eller datamåste den generativa målsidan konfigureras för att acceptera indataparametrar.

Det generativa sidobjektet innehåller följande värden.

Name Type Description
pageType Sträng Ange generative.
pageId Sträng ID för den generativa sida som ska öppnas.
recordId Sträng (Valfritt) GUID för en post som ska skickas till sidan.
entityName Sträng (Valfritt) Det logiska namnet på dataversumtabellen recordIdsom motsvarar .
data Objekt (Valfritt) Ett JSON-objekt som innehåller ytterligare anpassade parametrar som ska skickas till sidan.

Se exempel som visar hur du navigerar till och från en generativ sida med hjälp av klient-API

Objektet navigationOptions innehåller följande värden.

Name Type Description
target Nummer Ange 1 för att öppna sidan infogad. Ange 2 för att öppna sidan i en dialogruta.
Dessutom är resten av värdena (bredd, höjd och position) giltiga endast om du anger 2 i det här värdet (öppna sidan i en dialogruta).
Obs! Du kan bara öppna entitetslistor infogade. Du kan öppna entitetsposter, webbresurser och generativa sidor antingen infogade eller i en dialogruta.
width Tal eller objekt (Valfritt) Dialogrutans bredd. Om du vill ange bredden i bildpunkter skriver du ett numeriskt värde. Om du vill ange bredden i procent anger du ett objekt av typen SizeValue med följande egenskaper:
- value: Det numeriska värdet av typen Number.
- unit: Måttenheten av typen Sträng. Ange % eller px. Standardvärdet är px.
height Tal eller objekt (Valfritt) Dialogrutans höjd. Om du vill ange höjden i bildpunkter skriver du ett numeriskt värde. Om du vill ange bredden i procent anger du ett objekt av typen SizeValue med följande egenskaper:
- värde: Det numeriska värdet av typen Number.
- unit: Måttenheten av typen Sträng. Ange % eller px. Standardvärdet är px.
position Nummer (Valfritt) Ange 1 för att öppna dialogrutan i mitten för 2 att öppna dialogrutan längst fram. Standardvärdet är 1 (mitten).
title Sträng (Valfritt) Dialogrutans rubrik överst i dialogrutan i mitten eller på sidan.

Returvärde

Returnerar ett löfte. Värdet som skickas när löftet matchar beror på målet:

  • infogad: Promise löser sig direkt och returnerar inget värde.

  • dialogruta: Promise löses när dialogrutan stängs. Ett objekt skickas endast om pageType = entityRecord och du öppnade formuläret i skapa-läge. Objektet har en savedEntityReference matris med följande egenskaper för att identifiera den tabellpost som skapats:

    • entityType: Tabellens logiska namn.
    • id: En strängrepresentation av ett GUID-värde för posten.
    • name: Det primära kolumnvärdet för posten som visas eller skapas.

Example

I följande exempel visas hur du navigerar till olika sidtyper infogat och i en dialogruta.

Exempel 1: Öppna kontolista

Öppnar huvudkontolistan infogat.

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

Exempel 2: Öppna en befintlig kontopost i en dialogruta

Öppnar ett befintligt kontoformulär i en dialogruta.

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

Exempel 3: Öppna ett kontoformulär i läget skapa i en dialogruta

Öppnar ett kontoformulär i skapa-läge i en dialogruta och returnerar den skapade postreferensen när den sparas.

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

Exempel 4: Öppna en HTML-webbresurs i en dialogruta

Öppnar en HTML-webbresurs i en dialogruta.

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

Exempel 5: Öppna en generativ sida med indataparametrar i en dialogruta

Öppnar en generativ sida som en centrerad dialogruta som skickar ett post-ID, entitetsnamn och anpassade dataparametrar. Den generativa sidan måste konfigureras för att acceptera dessa parametrar.

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
Navigera till och från en generativ sida
Navigera till och från en anpassad sida (förhandsversion)