navigateTo (referencia de la API de cliente)

Navega a la lista de tabla, registro de tabla, recurso web HTML o página personalizada especificados.

Nota:

Este método solo se admite en la Interfaz unificada.

Syntax

Use la sintaxis siguiente para llamar a Xrm.Navigation.navigateTo().

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

Parámetros

El método acepta los parámetros siguientes.

Name Type Obligatorio Description
pageInput Objeto Entrada sobre la página a la que se va a navegar. Consulte Parámetro pageInput
navigationOptions Objeto Ninguno Opciones para navegar a una página: si se abre en línea o en un cuadro de diálogo. Si no especifica este parámetro, el método abre la página insertada de forma predeterminada.
successCallback function Ninguno Una función que se ejecuta cuando se navega correctamente a la página al navegar en línea y al cerrar el cuadro de diálogo cuando se navega a un cuadro de diálogo.
errorCallback Función Ninguno Función que se ejecuta cuando la operación produce un error.

Parámetro pageInput

La definición de objeto cambia en función del tipo de página para navegar a: lista de entidades, registro de entidad, panel, recurso web HTML, página personalizada o página generativa.

Lista de entidades

El objeto lista de entidades contiene los siguientes valores.

Name Type Description
pageType Cuerda Especifique entitylist.
entityName Cuerda El nombre lógico de la tabla que se cargará en el control de lista.
viewId Cuerda (Opcional) El id. de la vista a cargar. Si no lo especifica, la aplicación navega a la vista principal predeterminada de la tabla.
viewType Cuerda (Opcional) Tipo de vista a cargar. Especifique savedquery o userquery.

Registro de entidad

El objeto registro de entidades contiene los siguientes valores.

Name Type Description
pageType Cuerda Especifique entityrecord.
entityName Cuerda Nombre lógico de la tabla para la que se va a mostrar el formulario.
entityId Cuerda (Opcional) El Identificador de la tabla de registro para el que se va a mostrar el formulario. Si no especifica este valor, el formulario se abre en modo de creación.
createFromEntity Buscar (Opcional) Designa un registro que proporciona valores predeterminados basados en valores de columna asignados. El objeto de búsqueda tiene las siguientes propiedades de cadena: entityType, id. y name (opcional).
data Objeto (Opcional) Un objeto de diccionario que pasa parámetros adicionales al formulario.

Los parámetros pueden ser columnas de tabla con valores predeterminados que se establecen en formularios nuevos (consulte Establecer valores de columna usando parámetros pasados a un formulario) o parámetros personalizados a los que se accede en el formulario medianteformContext.data.attributes (consulte Configurar un formulario para aceptar parámetros de cadena de consulta personalizados y formContext.data). Los parámetros no válidos provocan un error.

formId Cuerda (Opcional) Identificador de la instancia de formulario que se va a mostrar.
isCrossEntityNavigate Boolean (Opcional) Indica si se navega al formulario desde una tabla diferente usando la tabla cruzada flujo de proceso de negocio.
isOfflineSyncError Boolean (Opcional) Indica si hay errores de sincronización sin conexión.
processId Cuerda (Opcional) Identificador del proceso de negocio que se va a mostrar en el formulario.
processInstanceId Cuerda (Opcional) Identificador de la instancia de proceso de negocio que se va a mostrar en el formulario.
relationship Objeto (Opcional) Defina un objeto de relación para mostrar los registros relacionados en el formulario. Vea relationship.
selectedStageId Cuerda (Opcional) Id. de la fase seleccionada en la instancia de proceso de negocio.
tabName Cuerda (Opcional) Establece el foco en la pestaña del formulario.
Objeto de relación

El objeto de relación, utilizado en el registro de entidades, contiene los siguientes valores.

Name Type Description
attributeName Cuerda Nombre de la columna utilizada para la relación.
name Cuerda Nombre de la relación.
navigationPropertyName Cuerda Nombre de la propiedad de navegación de esta relación.
relationshipType Número Tipo de relación. Especifique uno de los siguientes valores: 0:OneToMany, 1:ManyToMany.
roleType Número Tipo de rol en la relación. Especifique uno de los siguientes valores: 1:Referencing, 2:AssociationEntity.

Panel de información

Use este objeto como pageInput parámetro cuando desee abrir un panel.

El objeto del panel contiene los siguientes valores.

Name Type Description
pageType Cuerda Especifique dashboard.
dashboardId Cuerda Id. del panel que se va a cargar. Si no especifica el identificador, la aplicación navega al panel predeterminado.

Recurso web HTML

Use este objeto como pageInput parámetro cuando desee abrir un recurso web HTML.

El objeto del recurso web HTML contiene los siguientes valores.

Name Type Description
pageType Cuerda Especifique webresource.
webresourceName Cuerda Nombre del recurso web que se va a cargar.
data Cuerda (Opcional) Los datos para pasar al recurso web.

Página personalizada

Use este objeto como parámetro pageInput cuando desee abrir una página personalizada.

El objeto de página personalizado contiene los valores siguientes.

Name Type Description
pageType Cuerda Especifique custom.
name Cuerda El nombre lógico de la página personalizada a abrir.
entityName Cuerda (Opcional) El nombre lógico de la tabla que estará disponible en la página personalizada a través de Param("entityName").
recordId Cuerda (Opcional) El id. del registro de la tabla que estará disponible en la página personalizada a través de Param("recordId").

Página generativa

Use este objeto como pageInput parámetro cuando desee abrir una página generativa.

Para usar recordId, entityNameo data, la página generativa de destino debe configurarse para aceptar parámetros de entrada.

El objeto de página generativa contiene los siguientes valores.

Name Type Description
pageType Cuerda Especifique generative.
pageId Cuerda Identificador de la página generativa que se va a abrir.
recordId Cuerda (Opcional) GUID de un registro que se va a pasar a la página.
entityName Cuerda (Opcional) Nombre lógico de la tabla de Dataverse correspondiente a recordId.
data Objeto (Opcional) Objeto JSON que contiene parámetros personalizados adicionales que se van a pasar a la página.

Consulte ejemplos que muestran cómo navegar a una página generativa y desde ella mediante la API de cliente.

El navigationOptions objeto contiene los valores siguientes.

Name Type Description
target Número Especifique 1 para abrir la página insertada. Especifique 2 para abrir la página en un cuadro de diálogo.
Además, el resto de los valores (ancho, alto y posición) solo son válidos si se especifica 2 en este valor (abrir página en un cuadro de diálogo).
Nota: Solo puede abrir listas de entidades insertadas. Puede abrir registros de entidades, recursos web y páginas generativas insertadas o en un cuadro de diálogo.
width Número u objeto (Opcional) Ancho del cuadro de diálogo. Para especificar el ancho en píxeles, escriba un valor numérico. Para especificar el ancho en porcentaje, especifique un objeto de tipo SizeValue con las siguientes propiedades:
- value: El valor numérico de tipo Número.
- unit: La unidad de medida de tipo Cadena. Especifique % o px. El valor predeterminado es px.
height Número u objeto (Opcional) Altura del cuadro de diálogo. Para especificar el alto en píxeles, escriba un valor numérico. Para especificar el ancho en porcentaje, especifique un objeto de tipo SizeValue con las siguientes propiedades:
- value: El valor numérico de tipo Número.
- unit: La unidad de medida de tipo Cadena. Especifique % o px. El valor predeterminado es px.
position Número (Opcional) Especifique 1 para abrir el cuadro de diálogo en el centro; 2 para abrir el cuadro de diálogo en el lado lejano. El valor predeterminado es 1 (centro).
title Cuerda (Opcional) El título del cuadro de diálogo en la parte superior del cuadro de diálogo central o lateral.

Valor devuelto

Devuelve una promesa. El valor pasado cuando la promesa se resuelve depende del destino:

  • inline: Promise se resuelve inmediatamente y no devuelve ningún valor.

  • dialog: Promise se resuelve cuando se cierra el cuadro de diálogo. Un objeto se pasa solo si pageType = entityRecord y abrió el formulario en modo de creación. El objeto tiene una matriz savedEntityReference con las siguientes propiedades para identificar el registro de tabla creado:

    • entityType: el nombre lógico de la tabla.
    • id: Representación en cadena de un valor GUID del registro.
    • name: El valor de la columna principal del registro mostrado o creado.

Ejemplo

En los ejemplos siguientes se muestra cómo navegar a diferentes tipos de página insertados y en un cuadro de diálogo.

Ejemplo 1: lista de cuentas abiertas

Abre la lista de cuentas principal insertada.

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

Ejemplo 2: abrir un registro de cuenta existente dentro de un cuadro de diálogo

Abre un formulario de cuenta existente dentro de un cuadro de diálogo.

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

Ejemplo 3: abrir un formulario de cuenta en modo de creación dentro de un cuadro de diálogo

Abre un formulario de cuenta en modo de creación dentro de un cuadro de diálogo y devuelve la referencia de registro creada cuando se guarda.

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

Ejemplo 4: abrir un recurso web HTML en un cuadro de diálogo

Abre un recurso web HTML en un cuadro de diálogo.

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

Ejemplo 5: Abrir una página generativa con parámetros de entrada en un cuadro de diálogo

Abre una página generativa como un cuadro de diálogo centrado, pasando un identificador de registro, un nombre de entidad y parámetros de datos personalizados. La página generativa debe configurarse para aceptar estos parámetros.

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
Navegar a y desde una página generativa
Navegar hacia y desde una página personalizada (versión preliminar)