Escribir y depurar scripts para Dynamics 365 para teléfonos y tabletas

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 para teléfonos y Microsoft Dynamics 365 para tabletas usan 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 clientes móviles de Dynamics 365 (teléfonos y 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 Dynamics 365 para teléfonos y tabletas

Especifique qué código desea que se ejecute en Dynamics 365 para teléfonos y tabletas

Especifique qué comandos se mostrarán en Dynamics 365 para teléfonos y tabletas

Tenga en cuenta las diferencias existentes entre clientes móviles de Dynamics 365 y la aplicación web en un explorador

Depurar scripts para Dynamics 365 para teléfonos y tabletas

Algunas funciones de objeto de Xrm.Page o de ventana no funcionarán en Dynamics 365 para teléfonos y tabletas

Los clientes móviles de Dynamics 365 no permiten 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 producirá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 clientes móviles de Dynamics 365 tampoco admiten el método window.open. Si desea abrir un formulario de entidad para un registro nuevo o existente, use Xrm.Utility.openEntityForm en su lugar.

Los siguientes métodos no funcionarán en los clientes móviles de Dynamics 365 (teléfonos y tabletas).

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMétodos ViewPort

Xrm.Page.data.entity.getDataXml

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

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

Xrm.Page.ui tab.setDisplayState

La mayoría de estas funciones 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.

Además, Dynamics 365 para teléfonos no admite recursos web ni IFRAMES, por lo que las API de cliente para estos controles no funcionarán. Sin embargo, se admiten API de cliente para recursos web e IFRAMES en Dynamics 365 para tabletas. Más información: Métodos de controles IFRAME y recursos web

Especifique qué código desea que se ejecute en Dynamics 365 para teléfonos y 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 isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
 // Code for CRM for phones and 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 Dynamics 365 para teléfonos y 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 clientes móviles de Dynamics 365, debe incluir reglas de visualización para que los comandos no aparezcan en Dynamics 365 para tabletas. De forma predeterminada, todo comando definido se mostrará en clientes móviles de Dynamics 365 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 clientes móviles de Dynamics 365.

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

Tenga en cuenta las diferencias existentes entre clientes móviles de Dynamics 365 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 Dynamics 365 para teléfonos y tabletas, también debe conocer que hay otras diferencias.

  • Campos compuestos
    Los clientes móviles de Dynamics 365 implementan campos compuestos en forma diferente. Los clientes móviles de Dynamics 365 no incluirá atributos compuestos. Sustituyen automáticamente los atributos constituyentes y los mostrará en su lugar.Más información:Escribir scripts para atributos compuestos.

Depurar scripts para Dynamics 365 para teléfonos y tabletas

Debido a que Dynamics 365 para teléfonos o Dynamics 365 para tabletas son aplicaciones, 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 clientes móviles de Dynamics 365. Las API disponibles para clientes móviles de Dynamics 365 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 clientes móviles de Dynamics 365 en un equipo con Windows 10 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 clientes móviles de Dynamics 365.

Ver también

Escriba código para formularios de Microsoft Dynamics 365
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

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright