Compartir a través de


Escribir y depurar scripts para CRM para tabletas

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Microsoft Dynamics CRM para tabletas usa las mismas definiciones de formulario que se usan en la aplicación web. Cualquier código JavaScript que agregue a controladores de eventos de formulario o comandos de cinta de la aplicación web puede que también se ejecuten en CRM para tabletas. Estas son algunas diferencias que debe conocer.

En este tema

Algunas funciones de objeto de Xrm.Page o de ventana no funcionarán en CRM para tabletas

Especifique qué código desea que se ejecute en CRM para tabletas

Especifique qué comandos se mostrarán en CRM para tabletas

Tenga en cuenta las diferencias existentes entre CRM para tablets y la aplicación web en un explorador

Depuración de scripts para CRM para tabletas

Algunas funciones de objeto de Xrm.Page o de ventana no funcionarán en CRM para tabletas

CRM para tabletas no permite funciones que pueden bloquear la ejecución de scripts. Las funciones JavaScript comunes como window.alert, window.confirm y window.prompt no funcionarán del modo esperado o simplemente devolverán errores.

Utilice las funciones Xrm.UtilityalertDialog y confirmDialog para mostrar mensajes a los usuarios. Estas funciones funcionan de manera diferente a las funciones de ventanas debido a que no detienen el procesamiento de scripts hasta que el usuario los cierra. Proporcionan funciones de devolución de llamada para permitir una respuesta asincrónica a la entrada del usuario. Mediante window.confirm, window.prompt o cualquier otra función de ventana nativa que bloquee la ejecución de scripts devolverá un error.

Nota

Si usa window.alert en sus scripts de formularios, el mensaje que establezca se mostrará automáticamente mediante Xrm.Utility.alertDialog sin una función de devolución de llamada, pero esto es temporal y ya se considera atención telefónica especificada, pero es temporal y ya se considera desusado. Debe mover cualquier código mediante window.alert para usar Xrm.Utility.alertDialog en su lugar.

Los siguientes métodos no funcionarán en CRM para tabletas.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMétodos ViewPort

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlMétodos de controles IFRAME y recursos web

Métodos de objeto de Xrm.Page.ui.formSelector

Xrm.Page.ui tab.setDisplayState

Colección Xrm.Page.ui.navigation.items

Xrm.Utility.openWebResource

La mayoría de estas funciones simplemente ejecutarán una función vacía y no devolverán nada. Si tiene código que espere un valor de devolución en una de estas funciones, se cancelará su definición.

Especifique qué código desea que se ejecute en CRM para tabletas

Cuando las capacidades de la API cliente son diferentes debe incluir código similar al siguiente para separar la lógica que aplica a cada cliente.

var isCrmForTablets = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForTablets)
{
 // Code for CRM for tablets only goes here,
}
else
{
 // Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.

Especifique qué comandos se mostrarán en CRM para tabletas

Cuando utiliza la acción <JavaScriptFunction> (RibbonDiffXml) en los comandos de su barra de comandos personalizada (cinta) también puede separar su código mediante Xrm.Page.context.client.getClient. Si la acción que desea realizar no funciona con CRM para tabletas debe incluir reglas de visualización para que los comandos no aparezcan en CRM para tabletas. De forma predeterminada, todo comando definido se mostrará en CRM para tabletas a menos que lo configure explícitamente para lo contrario. En general, debe definir la siguiente regla de presentación e incluirla en cada comando a menos que sepa que funcionará utilizando CRM para tabletas.

<DisplayRule Id="My.HideOnModern">
 <CommandClientTypeRule Type="Modern"
                        InvertResult="true" />
</DisplayRule>

Tenga en cuenta las diferencias existentes entre CRM para tablets y la aplicación web en un explorador

Aparte de las funciones descritas en Algunas funciones de objeto de Xrm.Page o de ventana no funcionarán en CRM para tabletas, también debe conocer que hay otras diferencias.

  • Campos compuestos
    CRM para tabletas implementa campos compuestos en forma diferente.CRM para tabletas no incluirá atributos compuestos. Sustituye automáticamente los atributos constituyentes y los mostrará en su lugar.Más información:Escribir scripts para atributos compuestos.

  • Recursos web e IFRAME
    CRM para tabletas no admite la presentación de recursos web o de IFRAMEs en formularios. Si algo de su código interactúa con estos tipos de controles puede esperar que los controles no aparezcan en un formulario de CRM para tabletas y debe aplicar la información de Especifique qué código desea que se ejecute en CRM para tabletas para ejecutar dicho código solo en los clientes de explorador web.

Depuración de scripts para CRM para tabletas

Debido a que CRM para tabletas es una aplicación, las herramientas de depuración de JavaScript normales que puede usar en el explorador no están disponibles. Se recomienda el siguiente procedimiento para probar y depurar los scripts de formularios y los comandos de cinta

  1. Pruebe sus scripts a fondo con la aplicación web.

  2. Como parte de la prueba mediante el explorador web, invierta los criterios cuando compruebe el cliente mediante Xrm.Page.context.client.getClient y compruebe que la lógica sea adecuada para la experiencia que deben vivir las personas cuando utilicen CRM para tabletas. Las API disponibles para CRM para tabletas son un subconjunto de API disponibles para el explorador web, por lo que debe poder probar el flujo alternativo en el explorador web.

  3. Si es posible, instale CRM para tabletas en un equipo con Windows 8 y Microsoft Visual Studio instalado. Incluya instrucciones de depurador donde desee iniciar el depurador mediante Visual Studio.

  4. Finalmente, use Xrm.Utility.alertDialog para mostrar valores del código en CRM para tabletas.

Ver también

Escriba código para formularios de Microsoft Dynamics CRM 2015
Usar formularios y eventos de campo
Use el modelo de objeto Xrm.Page
Escribir scripts para atributos compuestos
Referencia de scripting de formularios
Referencia de programación del lado del cliente
Presentación de la barra de comandos o la cinta de opciones

© 2017 Microsoft. Todos los derechos reservados. Copyright