Escrever e depurar scripts para o Dynamics 365 para telefones e tablets

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

O Microsoft Dynamics 365 para telefones e o Microsoft Dynamics 365 para Tablets usam as mesmas definições de formulário usadas no aplicativo Web. Qualquer código JavaScript que você adiciona aos manipuladores de eventos de formulário ou aos comandos da faixa de opções no aplicativo Web também pode ser executado em clientes móveis (telefones e tablets) do Dynamics 365. Há algumas diferenças que você precisa saber.

Neste tópico

Algumas funções de objeto de janela ou de Xrm.Page não funcionarão no Dynamics 365 para telefones e tablets

Especifique o código que será executado no Dynamics 365 para telefones e tablets

Especifique os comandos que serão exibidos no Dynamics 365 para telefones e tablets

Lembre-se das diferenças entre os clientes móveis do Dynamics 365 e o aplicativo Web em um navegador

Como depurar scripts no Dynamics 365 para telefones e tablets

Algumas funções de objeto de janela ou de Xrm.Page não funcionarão no Dynamics 365 para telefones e tablets

Os clientes móveis do Dynamics 365 não permitem funções que possam bloquear a execução de scripts. Funções comuns do JavaScript, como window.alert, window.confirm e window.prompt não funcionarão conforme esperado ou simplesmente produzirão erros.

Use as funções Xrm.UtilityalertDialog e confirmDialog para exibir mensagens aos usuários. Essas funções funcionam de forma diferente das funções de janela, pois não interrompem o processamento de scripts até que o usuário feche-as. Elas fornecem funções de retorno de chamada para permitir uma resposta assíncrona à entrada do usuário. Usar window.confirm, window.prompt ou qualquer outra função de janela nativa que impeça a execução de scripts acionará um erro.

Observação

Se você usar window.alert em seus scripts de formulário, a mensagem definida será exibida automaticamente com Xrm.Utility.alertDialog sem uma função de retorno de chamada especificada, mas isto é temporário e já é considerado desativado. É necessário mover todos os códigos que usam window.alert para usar Xrm.Utility.alertDialog.

Os clientes móveis do Dynamics 365 também não são compatíveis com o método window.open. Se você procura abrir um formulário de entidade para um registro novo ou existente, use Xrm.Utility.openEntityForm em vez disso.

Os seguintes métodos não funcionarão em clientes móveis (telefones e tablets) do Dynamics 365.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMétodos ViewPort

Xrm.Page.data.entity.getDataXml

Coleção Xrm.Page.ui.navigation.items

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

Xrm.Page.ui tab.setDisplayState

A maioria dessas funções executará uma função vazia e não retornará nada. Se você tiver um código que espera um valor de retorno de uma dessas funções, ele será indefinido.

Além disso, o Dynamics 365 para telefones não é compatível com os recursos da Web e o IFRAMES, portanto, as APIs de cliente para esses controles não funcionarão. Mas as APIs de cliente para os recursos da Web e o IFRAMES são compatíveis no Dynamics 365 para tablets. Mais Informações: Métodos de controle IFRAME e recursos da Web

Especifique o código que será executado no Dynamics 365 para telefones e tablets

Quando os recursos da API do cliente forem diferentes, você deve incluir um código semelhante ao seguinte para separar a lógica aplicada 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 os comandos que serão exibidos no Dynamics 365 para telefones e tablets

Ao usar a ação <JavaScriptFunction> (RibbonDiffXml) nos comandos da barra (faixa de opções) de comandos personalizados, também é possível dividir o código usando Xrm.Page.context.client.getClient. Se a ação que você deseja executar não funcionar com os clientes móveis do Dynamics 365, inclua regras de exibição para que os comandos não sejam exibidos no Dynamics 365 para tablets. Por padrão, todos os comandos definidos serão exibidos nos clientes móveis do Dynamics 365, a menos que você configure isso explicitamente. Como regra, é necessário definir a seguinte regra de exibição e incluí-la em todos os comandos, a menos que você saiba que ela funcionará nos clientes móveis do Dynamics 365.

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

Lembre-se das diferenças entre os clientes móveis do Dynamics 365 e o aplicativo Web em um navegador

Além das funções descritas em Algumas funções de objeto de janela ou de Xrm.Page não funcionarão no Dynamics 365 para telefones e tablets, você também deve saber que há outras diferenças.

  • Campos compostos
    Os clientes móveis do Dynamics 365 implementam campos compostos de forma diferente. Os clientes móveis do Dynamics 365 não incluem atributos compostos. Em vez disso, eles substituem automaticamente os atributos membros e os exibem.Para obter mais informações:Scripts de gravação para atributos compostos.

Como depurar scripts no Dynamics 365 para telefones e tablets

Como o Dynamics 365 para telefones ou o Dynamics 365 para tabletssão aplicativos, as ferramentas normais de depuração do JavaScript que você pode usar no navegador não estão disponíveis. Recomendamos o seguinte procedimento para testar e depurar seus scripts de formulário e comandos da faixa de opções:

  1. Teste seus scripts por completo usando o aplicativo Web.

  2. Como parte dos testes com o navegador da Web, reverta os critérios ao verificar o cliente usando Xrm.Page.context.client.getClient e verifique se a lógica é adequada para a experiência que as pessoas devem ter ao usar clientes móveis do Dynamics 365. Como as APIs disponíveis para os clientes móveis do Dynamics 365 são um subconjunto das APIs disponíveis para o navegador da Web, você deve ser capaz de testar o fluxo alternativo no navegador da Web.

  3. Se possível, instale os clientes móveis do Dynamics 365 em um computador com o Windows 10 e Microsoft Visual Studio. Inclua as instruções do depurador no local em que deseja iniciar o depurador usando o Visual Studio.

  4. Finalmente, use Xrm.Utility.alertDialog para exibir valores de seu código nos clientes móveis do Dynamics 365.

Confira Também

Crie códigos para os formulários do Microsoft Dynamics 365
Usar eventos de formulário e de campo
Use o modelo de objeto Xrm.Page
Scripts de gravação para atributos compostos
Referência rápida do script de formulário
Referência de programação do cliente
Apresentação de comandos em barra ou em faixa de opções

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais