Establecer valores de columna usando parámetros pasados a un formulario
Puede establecer los valores predeterminados para los nuevos registros creados por los usuarios especificando los valores en la URL que se usa 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 registros de columna
Nota
Puede pasar valores de parámetros al formulario para establecer los valores de la columna mediante la función Xrm.Navigation.
openForm. Para ver un ejemplo, consulte Ejemplo: Utilizar Xrm.Navigation.openForm para abrir una nueva ventana.
Al abrir un nuevo formulario usando la dirección URL, puede incluir argumentos en el parámetro extraqs
para establecer los valores de las columnas. 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. Para usar caracteres especiales como "=" o "&" en los valores de los parámetros, debe codificar dos veces (un ejemplo, para establecername
aA=B&C
, debería serextraqs=name%3DA%253DB%2526C
).Los nombres de los argumentos de cadena de consulta deben coincidir con los nombres de las columnas para la tabla o incluirlos.
Los valores que se pasan deben ser válidos.
El valor no puede ser un script.
Los intentos de pasar un parámetro o un valor no válido producirán un error.
Para las columnas booleanas, use el valor entero
0
o1
, o el valor de textotrue
ofalse
para establecer el valor.Para las columnas de fecha y hora, use el valor de texto de la fecha.
Ejemplo: Establecimiento del valor para las columnas de cadena
El siguiente ejemplo establece el valor de la columna Name de un nuevo registro de cuenta en “New Account”.
El valor sin codificar para el parámetro extraqs
es "name=New Account".
/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord
Establecer valores para columnas de búsqueda
La siguiente tabla describe cinco tipos de columnas de búsqueda. Para obtener ejemplos de columnas de búsqueda, vea Ejemplo: Establecer el valor para las columnas de búsqueda y Ejemplo: Utilizar 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 tabla. |
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 tablas. |
búsqueda Referente a | Permite asignar una sola referencia a varias tablas. |
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. Use el sufijo "name" con el nombre de la columna para establecer el valor del texto.
No use 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 usar el sufijo “type” para especificar el tipo de tabla. Los valores permitidos son account, contact, systemuser y team.
No se pueden establecer los valores para búsquedas de partylist o regarding.
Ejemplo: Establecimiento del valor para las columnas de búsqueda
Para establecer valores para los campos de columna, use el valor de los datos, el valor del nombre y, solo para las búsquedas de cliente o propietario, especifique el valor de tipo para la columna respectiva. El siguiente ejemplo establece la columna de propietario en un usuario denominado "Mark Folkerts".
El valor sin codificar para el parámetro extraqs
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
El siguiente ejemplo establece la columna del contacto principal a un usuario con el nombre “Yvonne McKay (ejemplo)”. El valor no codificado para el parámetro extraqs
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 sencilla como esta, no tiene que establecer un valor de tipo.
Ejemplo: Establecimiento del valor para las columnas de fecha
El siguiente ejemplo establece la columna Fecha estimada de cierre para una nueva oportunidad como 31 de enero de 2011. El valor sin codificar para el parámetro extraqs
es “estimatedclosedate=01/31/11”.
/main.aspx?etn=opportunity&extraqs=estimatedclosedate%3D01%2F31%2F11&pagetype=entityrecord
Ejemplo: Establecimiento del valor para las columnas de opción
Para establecer el valor de columna Choice, establezca el valor entero para la opción. El siguiente ejemplo establece el valor de columna Role en “Decision Maker” en un nuevo registro de contacto.
El valor sin codificar para el parámetro extraqs
es “accountrolecode=1”.
/main.aspx?etn=contact&extraqs=accountrolecode%3D1&pagetype=entityrecord
Ejemplo: Establecimiento del valor para las columnas de opciones
Para establecer el valor de la columna Choices, indique valores enteros para las opciones de la URL que se utiliza para abrir el formulario. Por ejemplo, establezca las opciones para la columna Aficiones, 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
El siguiente ejemplo establece los valores predeterminados de distintas columnas y muestra cómo usar 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 column 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 column.
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 table 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
El siguiente ejemplo establece los valores predeterminados de varias columnas distintos y muestra cómo usar encodeURIComponent para codificar el valor del parámetro extraqs
. Si usa el método window.open, puede controlar las características de la ventana que se abre.
function OpenNewContact() {
//Set the Parent Customer column 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 column.
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);
}
Consultar también
Abrir formularios y vistas con una dirección URL
openForm
Configurar un formulario para aceptar parámetros querystring personalizados
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).