Establecer valores de campo mediante parámetros pasados a un formulario

El contenido de este tema se puede usar para Dynamics 365 for Customer Engagement. Puede establecer valores predeterminados para los nuevos registros creados por los usuarios especificando valores de atributo en la dirección URL que se utiliza para abrir el formulario. De forma predeterminada, estos valores se establecen en el formulario, pero los usuarios pueden modificarlos antes de guardar el registro.

Pasar parámetros para establecer valores de registro de campo

Nota:

Puede pasar valores de parámetros al formulario para establecer valores de campo mediante la Xrm.Navigation. función openForm. Para ver un ejemplo, vea Ejemplo: Usar Xrm.Navigation.openForm para abrir una nueva ventana.

Al abrir un nuevo formulario mediante la dirección URL, puede incluir argumentos en el extraqs parámetro para establecer valores de campo. Deben cumplirse los siguientes requisitos:

  • Debe codificar los parámetros que se pasan en el parámetro extraqs. Para codificar los parámetros, use encodeURIComponent.

  • Los nombres de los argumentos de la cadena de consulta deben coincidir o incluir los nombres de los atributos de la entidad.

  • Los valores que se pasan deben ser válidos.

  • El valor no puede ser un guion de programación.

    Los intentos de pasar un parámetro o un valor no válido producirán un error.

  • En el caso de los campos booleanos, utilice un valor entero de 0 or 1o un valor de texto de true or false para establecer el valor.

  • En los campos DateTime, utilice el valor de texto de la fecha.

Ejemplo: Establecer el valor de los campos de cadena de caracteres

En el ejemplo siguiente se establece el valor del campo Nombre de un nuevo registro de cuenta en "Nueva cuenta".

El valor no codificado para el extraqs parámetro es "name=Nueva cuenta".

/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord  

Establecer valores para los campos de búsqueda

En la tabla siguiente se describen cinco tipos de campos de búsqueda. Para ver ejemplos de uso de campos de búsqueda, vea Ejemplo: Establecer el valor de los campos de búsqueda y Ejemplo: Usar Xrm.Navigation.openForm para abrir una nueva ventana.

Tipo de búsqueda Descripción
búsqueda sencilla Permite una sola referencia a un tipo de entidad.
búsqueda de cliente Permite una única referencia a una cuenta o un registro de contacto.
búsqueda de propietario Permite una única referencia a un equipo o un registro de usuario del sistema.
búsqueda de tipo partylist Permite asignar varias referencias a varias entidades.
búsqueda Referente a Permite asignar una sola referencia a varias entidades.

Las directrices siguientes se aplican al establecer el valor de una búsqueda en un formulario mediante un argumento de cadena de consulta:

  • Para las búsquedas sencillas debe establecer el valor y el texto que desea mostrar en la búsqueda. Utilice el sufijo "nombre" con el nombre del atributo para establecer el valor del texto.

    No uses ningún otro argumento.

  • Para las búsquedas de cliente y propietario debe establecer el valor y el nombre de la misma manera que para las búsquedas sencillas. Además, debe utilizar el sufijo "tipo" para especificar el tipo de entidad. Los valores permitidos son account, contact, systemuser y team.

  • No se pueden establecer los valores para búsquedas de partylist o regarding.

Ejemplo: Establecer el valor de los campos de búsqueda

Para establecer valores para los campos de búsqueda, utilice el valor de datos, el valor de nombre y, solo para las búsquedas de cliente o propietario, especifique el valor de tipo para el campo correspondiente. El siguiente ejemplo establece el campo de propietario en un usuario denominado “Mark Folkerts”.

El valor no codificado para el extraqs parámetro es "ownerid={B8C6E040-656E-DF11-B414-00155DB1891A}&owneridname=Mark Folkerts&owneridtype=systemuser".

/main.aspx?etn=lead&pagetype=entityrecord&extraqs=ownerid%3D%7bB8C6E040-656E-DF11-B414-00155DB1891A%7d%26owneridname%3DMark%20Folkerts%26owneridtype%3Dsystemuser  

En el ejemplo siguiente se establece el campo de contacto principal en un usuario denominado "Yvonne McKay (ejemplo)". El valor no codificado para el extraqs parámetro es "primarycontactid={43b58571-eefa-e311-80c1-00155d2a68c4}&primarycontactidname=Yvonne McKay (sample)".

/main.aspx?etn=account&pagetype=entityrecord&extraqs=primarycontactid%3D%7B43b58571-eefa-e311-80c1-00155d2a68c4%7D%26primarycontactidname%3DYvonne%20McKay%20(sample)  

Nota:

Para una búsqueda simple como esta, no es necesario establecer un valor de tipo.

Ejemplo: Establecer el valor de los campos de fecha

En el ejemplo siguiente se establece el campo Fecha de cierre estimada de una nueva oportunidad en el 31 de enero de 2011. El valor no codificado para el extraqs parámetro es "estimatedclosedate=01/31/11".

/main.aspx?etn=opportunity&extraqs=estimatedclosedate%3D01%2F31%2F11&pagetype=entityrecord  

Ejemplo: Establecer el valor de los campos del conjunto de opciones

Para establecer el valor de un campo de conjunto de opciones , establezca el valor entero de la opción. En el siguiente ejemplo se establece el valor del campo Rol en "Responsable de la toma de decisiones" en un nuevo registro de contacto.

El valor no codificado para el extraqs parámetro es "accountrolecode=1".

/main.aspx?etn=contact&extraqs=accountrolecode%3D1&pagetype=entityrecord  

Ejemplo: Establecer el valor de los campos del conjunto de opciones de selección múltiple

Para establecer el valor del campo de conjunto de opciones de selección múltiple , especifique valores enteros para las opciones de la dirección URL que se utiliza para abrir el formulario. Por ejemplo, para establecer las opciones para el campo Hobbies , el valor sin codificar para el parámetro extraqs será "hobbies=[1,3,4]". 

/main.aspx?etn=contact&extraqs=hobbies%3D%5B1%2C3%2C4%5D&pagetype=entityrecord   

Ejemplo: Utilizar Xrm.Navigation.openForm para abrir una nueva ventana

En el ejemplo siguiente, se establecen valores predeterminados en varios campos diferentes y se muestra cómo utilizar la función Xrm.Navigation.openForm. Es equivalente al ejemplo anterior que utilizaba el método window.open.

function OpenNewContact() {  
 var parameters = {};  
 //Set the Parent Customer field value to “Contoso”.  
 parameters["parentcustomerid"] = "2878282E-94D6-E111-9B1D-00155D9D700B";  
 parameters["parentcustomeridname"] = "Contoso";  
 parameters["parentcustomeridtype"] = "account";  
 //Set the Address Type to “Primary”.  
 parameters["address1_addresstypecode"] = "3";  
 //Set text in the Description field.  
 parameters["description"] = "Default values for this record were set programmatically.";  
 //Set Do not allow E-mails to "Do Not Allow".  
 parameters["donotemail"] = "1";  
  
 // Define the entity name to open the form  
 var entityFormOptions = {};
 entityFormOptions["entityName"] = "contact";

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

Ejemplo: Uso de window.open para abrir una ventana nueva

En el ejemplo siguiente se establecen los valores predeterminados en varios campos diferentes y se muestra cómo usar encodeURIComponent para codificar el valor del extraqs parámetro. Si usa el método window.open, puede controlar las características de la ventana que se abre.

function OpenNewContact() {  
    //Set the Parent Customer field value to “Contoso”.  
    var extraqs = "parentcustomerid={F01F3F6D-896E-DF11-B414-00155DB1891A}";  
    extraqs += "&parentcustomeridname=Contoso";  
    extraqs += "&parentcustomeridtype=account";  
    //Set the Address Type to “Primary”.  
    extraqs += "&address1_addresstypecode=3";  
    //Set text in the Description field.  
    extraqs += "&description=Default values for this record were set programatically.";  
    //Set Do not allow E-mails to "Do Not Allow".  
    extraqs += "&donotemail=1";  
    //Set features for how the window will appear.  
    var features = "location=no,menubar=no,status=no,toolbar=no";  
    // Open the window.  
    window.open("/main.aspx?etn=contact&pagetype=entityrecord&extraqs=" +  
     encodeURIComponent(extraqs), "_blank", features, false);  
}  

Consulte también

Abrir formularios y vistas con una URL
openForm
Configurar un formulario para aceptar parámetros querystring personalizados