Xrm.Utility (referencia del lado del cliente)
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
El objeto Xrm.Utility proporciona un contenedor para funciones útiles no relacionadas directamente con la página actual.
Estas funciones están disponibles en cada página de aplicación que admita scripts. Puede usarlas en scripts de formularios o en comandos de la cinta de opciones. Para los recursos web HTML, están disponibles cuando incluye la página de ClientGlobalContext.js.aspx. Para obtener más información, vea Función GetGlobalContext y ClientGlobalContext.js.aspx (referencia del lado del cliente).
Funciones
Diálogos
Use alertDialog y confirmDialog para mostrar mensajes a los usuarios y establecer código para que se ejecute en función de la respuesta. Estas funciones se deben usar con Microsoft Dynamics CRM para tabletas en lugar de los métodos window.alert los casos y window.confirm.isActivityType
Determine si una entidad es una entidad de actividad.openEntityForm
Abre un formulario de entidad.openQuickCreate
Para Actualización 1 de Microsoft Dynamics CRM Online 2015 o posterior, use esta característica para abrir un nuevo formulario de creación rápida. Puede usar esta capacidad para establecer valores predeterminados usando asignaciones de atributos o para atributos específicos. Si el usuario guarda el registro, puede capturar una referencia al registro creado.openWebResource
Abre un recurso web HTML.
Diálogos
Existen dos tipos de diálogos: alertDialog y confirmDialog. Estos se incluyen para uso con scripts que funcionarán con Microsoft Dynamics CRM para tabletas.CRM para tabletas no permitirá el uso de funciones JavaScript que bloquean el flujo de código como window.alert y window.confirm. Use estos métodos en lugar de aquellos métodos en caso de que necesite mostrar un mensaje al usuario. La diferencia clave es que estos métodos no bloquearán código hasta que un usuario los cierre. Contienen un parámetro de función de devolución de llamada para indicar qué código debe ejecutarse según la respuesta del usuario.
Nota
En Microsoft Dynamics CRM para tabletas cualquier uso del método window.alert se reemplazará para usar Xrm.Utility.alertDialog sin una devolución de llamada. Esto mostrará el mensaje, pero no bloqueará la ejecución de código como window.alert. Esta asignación de window.alert a Xrm.Utility.alertDialog en CRM para tabletas está obsoleta y se quitará en la siguiente versión principal. Debe migrar todo el código que tenga hoy para usar Xrm.Utility.alertDialog en lugar de window.alert.
alertDialog
Muestra un cuadro de diálogo que contiene un mensaje definido por la aplicación.
Xrm.Utility.alertDialog(message,onCloseCallback)
Parámetros
Nombre
Tipo
Requerido
Descripción
mensaje
Cadena
Sí
El texto del mensaje que desea mostrar en el diálogo.
onCloseCallback
Función
No
Una función para ejecutar cuando se hace clic en el botón Aceptar.
Comentarios
Este método solo está disponible para Entidades actualizadas.
confirmDialog
Muestra un cuadro de diálogo de confirmación que contiene un mensaje opcional así como los botones Aceptar y Cancelar.
Xrm.Utility.confirmDialog(message,yesCloseCallback,noCloseCallback)
Parámetros
Nombre
Tipo
Requerido
Descripción
mensaje
Cadena
Sí
El texto del mensaje que desea mostrar en el diálogo
yesCloseCallback
Función
No
Una función para ejecutar cuando se hace clic en el botón Aceptar.
noCloseCallback
Función
No
Una función para ejecutar cuando se hace clic en el botón Cancelar.
Comentarios
Este método solo está disponible para Entidades actualizadas.
isActivityType
Determine si una entidad es una entidad de actividad.
Xrm.Utility.isActivityType(entityName)
Parámetro
Nombre
Tipo
Requerido
Descripción
entityName
Cadena
Sí
El nombre lógico de una entidad.
Valor devuelto
Tipo
Descripción
Boolean
True si la entidad es una entidad de actividad, si no false.
openEntityForm
Abre un formulario de entidad para un registro de entidad nuevo o existente mediante las opciones que establece como parámetros.
Xrm.Utility.openEntityForm(name,id,parameters,windowOptions)
Parámetros
Nombre
Tipo
Requerido
Descripción
nombre
Cadena
Sí
El nombre lógico de la entidad.
id
Cadena
No
Representación en cadena de un identificador único o del registro para abrir en el formulario. Si no se establece, se abre un formulario para crear un nuevo registro.
parámetros
Objeto
No
Un objeto de diccionario que pasa parámetros adicionales al formulario. Los parámetros no válidos provocarán un error.
Los parámetros de cadena de consulta adicionales válidos son:
Identificador del formulario: Para establecer el valor de identificador del formulario principal para usar cuando hay más de un formulario disponible. El parámetro es formid.
Identificadores de campo predeterminados: Para establecer valores predeterminados para un nuevo formulario de registro. Para obtener más información, vea Establecer valores de campo usando parámetros pasados a un formulario.
Los parámetros navbar y cmdbar descritos en Parámetros de cadena de consulta para la página Main.aspx.
Parámetros de cadena de consulta personalizados: Un formulario se puede configurar para aceptar parámetros de cadena de consulta personalizados. Para obtener más información, vea Configurar un formulario para aceptar parámetros querystring personalizados.
windowOptions
Objeto
No
Para Actualización 1 de Microsoft Dynamics CRM Online 2015 o posterior, use este parámetro opcional en la aplicación web para controlar cómo se abre el formulario. Puede optar por abrir un formulario en una nueva ventana pasando un objeto de diccionario con una propiedad openInNewWindow booleana establecida como true.
Este parámetro se omite en CRM para tabletas y CRM para teléfonos.
Comentarios
Esta característica ayuda a asegurarse de que no se pide a los usuarios que inicien sesión de nuevo en determinadas circunstancias.Ejemplos
Abra un nuevo registro de cuenta con el formulario predeterminadoXrm.Utility.openEntityForm("account");
Abra un registro de cuenta existente con el formulario predeterminado
Xrm.Utility.openEntityForm("account","A85C0252-DF8B-E111-997C-00155D8A8410");
Abrir un nuevo registro de cuenta con un determinado formulario y establecer valores predeterminados
var parameters = {}; parameters["formid"] = "b053a39a-041a-4356-acef-ddf00182762b"; parameters["name"] = "Test"; parameters["telephone1"] = "(425) 555-1234"; Xrm.Utility.openEntityForm("account", null, parameters);
Abra un nuevo registro de cuenta con el formulario predeterminado en una nueva ventana
var windowOptions = { openInNewWindow: true }; Xrm.Utility.openEntityForm("account",null,null,windowOptions);
openQuickCreate
Para Actualización 1 de Microsoft Dynamics CRM Online 2015 o posterior, use esta característica para abrir un nuevo formulario de creación rápida. Puede usar esta capacidad para establecer valores predeterminados usando asignaciones de atributos o para atributos específicos. Si el usuario guarda el registro, puede capturar una referencia al registro creado.
Xrm.Utility.openQuickCreate(entityLogicalName,createFromEntity,parameters).then(successCallback, errorCallback);
Parámetros
Nombre
Tipo
Requerido
Descripción
entityLogicalName
Cadena
Sí
El nombre lógico de la entidad que se va a crear.
createFromEntity
Búsqueda
No
Señala un registro que proporcionará valores predeterminados según los valores de atributo asignados.
Un objeto de consulta tiene las siguientes String propiedades:
entityType: el nombre lógico de la entidad.
id: Representación en cadena de un valor GUID del registro.
name: El valor del atributo principal del registro.
parámetros
Objeto
No
Un objeto de diccionario que pasa parámetros de cadena de consulta adicionales al formulario. Los parámetros de cadena de consulta no válidos provocarán un error.
Los parámetros de cadena de consulta adicionales válidos son:
Identificadores de campo predeterminados: Para establecer valores predeterminados para un nuevo formulario de registro. Para obtener más información, vea Establecer valores de campo usando parámetros pasados a un formulario.
Parámetros de cadena de consulta personalizados: Un formulario se puede configurar para aceptar parámetros de cadena de consulta personalizados. Para obtener más información, vea Configurar un formulario para aceptar parámetros querystring personalizados.
successCallback
Función
No
La función que se llamará cuando se cree un registro. A esta funcionalidad se le pasa un objeto como parámetro. Este objeto tiene una propiedad savedEntityReference con las siguientes propiedades para identificar el registro creado:
entityType: el nombre lógico de la entidad.
id: Representación en cadena de un valor GUID del registro.
name: El valor del atributo principal del registro creado.
errorCallback
Función
No
Una función para llamar cuando la operación tiene error.
Se pasará un objeto con las siguientes propiedades:
errorCode: Number. Código de error.
message: String. Mensaje de error localizado.
Comentarios
Esta característica solo está disponible para Actualización 1 de Microsoft Dynamics CRM Online 2015 o posterior.Hay un límite de 10 formularios de creación rápida anidados en la aplicación web. Si supera este límite, esta función abrirá el formulario de entidad completo en vez del formulario de creación rápida.
Ejemplo
Cuando este código se ejecuta en un formulario de entidad de cuenta, un formulario de creación rápida creará una nueva cuenta secundaria con un nombres predeterminado establecido para incluir el nombre de la cuenta primaria.var thisAccount = { entityType: "account", id: Xrm.Page.data.entity.getId() }; var callback = function (obj) { console.log("Created new " + obj.savedEntityReference.entityType + " named '" + obj.savedEntityReference.name + "' with id:" + obj.savedEntityReference.id); } var setName = { name: "Child account of " + Xrm.Page.getAttribute("name").getValue() }; Xrm.Utility.openQuickCreate("account", thisAccount, setName).then(callback, function (error) { console.log(error.message); });
Cuando este código se ejecuta con herramientas del desarrollador del explorador (herramientas F12) lo siguiente representa el resultado a la consola cuando se ejecuta en el contexto de una cuenta llamada "A. Datum Corporation (sample)" y el usuario no modifica el nombre predeterminado establecido para la nueva cuenta secundaria.
Created new account named 'Child account of A. Datum Corporation (sample)' with id:{1D4BFF87-E8C5-E411-80CF-00155DB58496}
openWebResource
Abre un recurso web HTML.
Nota
Esta función no funcionará con Microsoft Dynamics CRM para tabletas.
Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)
Parámetros
Nombre
Tipo
Requerido
Descripción
webResourceName
Cadena
Sí
El nombre del recurso web HTML para abrir.
webResourceData
Cadena
No
Datos que se pasarán al parámetro de datos.
ancho
Número
No
El ancho de la ventana a abrir en píxeles.
alto
Número
No
El alto de la ventana a abrir en píxeles.
Valor devuelto
Objeto de la ventana.Comentarios
Un recurso web HTML puede aceptar los valores de parámetro que se describen en Pasar los parámetros a recursos web HTML. Esta función solo permite pasar el parámetro de datos opcional. Para pasar valores para los demás parámetros válidos, debe anexarlos al parámetro webResourceName.Ejemplos
Abra un recurso web HTML llamado "new_webResource.htm"Xrm.Utility.openWebResource("new_webResource.htm");
Abra un recurso web HTML incluido un elemento único de datos para el parámetro de datos
Xrm.Utility.openWebResource("new_webResource.htm","dataItemValue");
Abra un recurso web HTML pasando varios valores mediante el parámetro de datos
var customParameters = encodeURIComponent("first=First Value&second=Second Value&third=Third Value"); Xrm.Utility.openWebResource("new_webResource.htm",customParameters);
Nota
Estos valores debe ser extraídos del valor del parámetro de datos del recurso web HTML. Para obtener más información, consulte Ejemplo: pasar varios valores a un recurso web mediante el parámetro de datos
Abra un recurso web HTML con los parámetros esperados por recursos web HTML
Xrm.Utility.openWebResource("new_webResource.htm?typename=account&userlcid=1033");
Para obtener más información, vea Pasar los parámetros a recursos web HTML.
Abra recurso web HTML estableciendo el alto y ancho
Xrm.Utility.openWebResource("new_webResource.htm", null, 300,300);
Ver también
Referencia de programación del lado del cliente
Abrir formularios, vistas, diálogos e informes con una dirección URL
Establecer valores de campo usando parámetros pasados a un formulario
Configurar un formulario para aceptar parámetros querystring personalizados
Referencia de scripting de formularios
Escriba código para formularios de Microsoft Dynamics CRM 2015
Use el modelo de objeto Xrm.Page
© 2017 Microsoft. Todos los derechos reservados. Copyright