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 sólo se admite en la Interfaz unificada.

Sintaxis

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

Parámetros

Nombre Type Obligatorios Description
pageInput Objecto Entrada sobre la página a la que se va a navegar. Consulte Parámetro pageInput
navigationOptions Objecto No 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, la página se abre en línea de forma predeterminada.
successCallback function No 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 Function No Función que se ejecuta cuando la operación produce un error.

Parámetro pageInput

La definición del objeto cambia según el tipo de página a la que navegar: lista de entidades, registro de entidades, panel, recurso web HTML o pagina personalizada.

Lista de entidades

El objeto lista de entidades contiene los siguientes valores.

Name Type Description
pageType String Especifique entitylist.
entityName String El nombre lógico de la tabla que se cargará en el control de lista.
viewId String (Opcional) El id. de la vista a cargar. Si no lo especifica, va a la vista principal predeterminada de la tabla.
viewType String (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 String Especifique entityrecord.
entityName String Nombre lógico de la tabla para la que se va a mostrar el formulario.
entityId String (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 abrirá en modo de creación.
createFromEntity Lookup (Opcional) Señala un registro que proporcionará valores predeterminados según los valores de columna asignados. El objeto de búsqueda tiene las siguientes propiedades de cadena: entityType, id y name (opcional).
data Objecto (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 (vea Establecer valores de columna usando parámetros pasados a un formulario) o parámetros personalizados a los que se accede en el formulario mediante formContext.data.attributes (vea Configurar un formulario para aceptar parámetros de cadena de consulta personalizados y formContext.data). Los parámetros no válidos provocarán un error.

formId String (Opcional) Identificador de la instancia de formulario que se va a mostrar.
isCrossEntityNavigate Booleana (Opcional) Indica si se navega al formulario desde una tabla diferente usando la tabla cruzada flujo de proceso de negocio.
isOfflineSyncError Booleana (Opcional) Indica si hay errores de sincronización sin conexión.
processId String (Opcional) Identificador del proceso de negocio que se muestra en el formulario.
processInstanceId String (Opcional) Identificador de la instancia de proceso de negocio que se muestra en el formulario.
relationship Objecto (Opcional) Defina un objeto de relación para mostrar los registros relacionados en el formulario. Vea relationship.
selectedStageId String (Opcional) Id. de la fase seleccionada en la instancia de proceso de negocio.
tabName String (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 String Nombre de la columna utilizada para la relación.
name String Nombre de la relación.
navigationPropertyName String Nombre de la propiedad de navegación de esta relación.
relationshipType Number Tipo de relación. Especifique uno de los siguientes valores: 0:OneToMany, 1:ManyToMany.
roleType Number Tipo de rol en la relación. Especifique uno de los siguientes valores: 1:Referencing, 2:AssociationEntity.

Panel

El objeto del panel contiene los siguientes valores.

Name Type Description
pageType String Especifique dashboard.
dashboardId String Id. del panel que se va a cargar. Si no especifica el id., navega al panel predeterminado.

Recurso web HTML

El objeto del recurso web HTML contiene los siguientes valores.

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

Página personalizada

El objeto página personalizada contiene los siguientes valores.

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

El objeto navigationOptions contiene los siguientes valores.

Name Type Description
target Number Especifique 1 para abrir la página en línea; 2 para abrir la página en un cuadro de diálogo.
Además, el resto de los valores (ancho, alto, y posición) son válidos solo si ha especificado 2 en este valor (página abierta en un diálogo).
Nota: las listas de entidades solo se pueden abrir en línea; los registros de entidad y los recursos web se pueden abrir en línea 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, simplemente 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, simplemente 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 Number (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 String (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 se resuelve la promesa depende del objetivo:

  • inline: la promesa se resuelve de inmediato y no devuelve ningún valor.

  • dialog : la promesa 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

Ejemplo 1: lista de cuentas abiertas

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

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

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

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

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

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).