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

    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

    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

    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

    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:

    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 predeterminado

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

    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:

    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

    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