openForm (referencia de la API de cliente)

Abre un formulario de entidad o un formulario de creación rápida.

Nota

Para abrir un formulario principal como un cuadro de diálogo, utilice el método navigateTo en su lugar. Más información: Abrir el formulario principal en un cuadro de diálogo utilizando la API del cliente

Sintaxis

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

Parámetros

Name Type Obligatorio Description
entityFormOptions Objecto Opciones de formulario para abrir el formulario. Ver objeto de opciones de formulario de entidad
formParameters Objecto No Un objeto de diccionario que pasa parámetros adicionales al formulario. Los parámetros no válidos provocarán un error.

Para obtener información acerca de cómo pasar parámetros a un formulario, consulte Establecer columnas de campo mediante parámetros que se pasan a un formulario y Configurar un formulario para aceptar parámetros de cadena de consulta personalizada.
successCallback Function No Una función que se ejecutará cuando el registro se guarde en el formulario de creación rápida. A esta función se le pasa un objeto como parámetro. El objeto tiene una matriz savedEntityReference con las siguientes propiedades para identificar el registro(s) mostrado(s) o creado(s):
- entityType: Nombre lógico de 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.

NOTA:
- La función successCallback no se ejecuta cuando se abre un formulario para un registro existente o nuevo.
- La función successCallback solo se ejecuta al guardar un registro en un formulario de creación rápida que se abrió mediante el método openForm.
errorCallback Function No Función que se ejecuta cuando la operación produce un error.

Objeto entityFormOptions

El objeto contiene los siguientes valores:

Name Type Obligatorio Description
entityName String Nombre lógico de la tabla para la que se va a mostrar el formulario.
entityId String No Id. del registro de tabla para el que se va a mostrar el formulario.
formId String No Identificador de la instancia de formulario que se va a mostrar.
cmdbar Booleano No Indica si se muestra la barra de comandos. Si no especifica este parámetro, la barra de comandos se muestra de forma predeterminada. Requiere pasar el parámetro openInNewWindow como verdadero.
createFromEntity Lookup No Señala un registro que proporcionará valores predeterminados según los valores de columna asignado. El objeto de búsqueda tiene las siguientes propiedades de cadena: entityType, id y name (opcional).
openInNewWindow Booleano No Indica si mostrar el formulario en una nueva ventana o en una nueva pestaña. Si especifica true y no especifica valores de alto o ancho, el formulario se mostrará en una nueva pestaña. Abrir un formulario en una nueva ventana o una nueva pestaña hace que la representación del formulario sea más lenta en comparación con abrir el formulario en la misma pestaña; considere abrir un formulario en el cuadro de diálogo del formulario principal. Actualmente, esta propiedad no es compatible con los formularios de Creación rápida, ya que no se pueden abrir en una nueva ventana o pestaña.
height Number No Alto de la ventana de formulario que se mostrará, en píxeles. Requiere pasar el parámetro openInNewWindow como verdadero.
width Number No Ancho de la ventana de formulario que se mostrará, en píxeles. Requiere pasar el parámetro openInNewWindow como verdadero.
navbar String No Controla si la barra de navegación se muestra y si la navegación por la aplicación está disponible mediante las áreas y subáreas definidas en el mapa del sitio. Los valores válidos son: on, off o entity. Requiere pasar el parámetro openInNewWindow como verdadero.
- on: se muestra la barra de navegación. Este es el comportamiento predeterminado si el parámetro navbar no se usa.
- off: no se muestra la barra de navegación. Los usuarios pueden navegar usando otros elementos de la interfaz de usuario o los botones adelante y atrás.
- entity: en un formulario de entidad, solo las opciones de navegación de tablas relacionadas están disponibles. Después de navegar a una tabla relacionada, se muestra un botón atrás en la barra de navegación para permitir volver al registro original.
relationship Objecto No Defina un objeto de relación para mostrar los registros relacionados en el formulario. Ver Objeto de relación
selectedStageId String No Id. de la fase seleccionada en la instancia de proceso de negocio.
useQuickCreateForm Booleano No Indica si se abre un formulario de creación rápida. La tabla debe tener la opción Permitir creación rápida habilitada para que se muestre el formulario de creación rápida y también debe agregar la tabla y el formulario de creación rápida a su aplicación. Si no especifica el valor de useQuickCreateForm, el valor predeterminado se establecerá en false.

Objeto de relación

El objeto tiene los siguientes valores.

Name Type Description
attributeName String Nombre de la columna utilizada para la relación.
name String Nombre de la columna utilizada para la relación.
navigationPropertyName String Nombre de la columna utilizada para la 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

Comentarios

Debe usar este método para abrir formularios de tabla o de creación rápida en lugar de los métodos obsoletos Xrm.Utility.openEntityForm y Xrm.Utility.openQuickCreate.

Utilice setActiveProcess para mostrar un proceso empresarial particular y setActiveProcessInstance para mostrar una instancia de proceso empresarial particular en el formulario.

Ejemplos

Ejemplo 1: Abrir un formulario de un registro existente

El código de ejemplo siguiente abre un formulario de contacto para mostrar un registro de contacto existente:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "8DA6E5B9-88DF-E311-B8E5-6C3BE5A8B200";

// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Ejemplo 2: Abrir un formulario de un registro nuevo

El código de ejemplo siguiente abre un formulario de contacto con algunos valores preestablecidos para crear un registro nuevo:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Ejemplo 3: Abrir un formulario de un registro nuevo (búsqueda compleja)

El código de ejemplo siguiente abre un formulario de actividad con algunos valores preestablecidos (incluida una búsqueda compleja) para crear un registro nuevo:

var entityFormOptions = {};
entityFormOptions["entityName"] = "email";

// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name. 
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Ejemplo 4: Abrir una forma de creación rápida

El código de ejemplo siguiente abre un formulario de contacto de creación rápida con algunos valores preestablecidos:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Xrm.Navigation

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