Escrever e depurar scripts no CRM para tablets

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

O Microsoft Dynamics CRM para Tablets usa as mesmas definições de formulário usadas no aplicativo Web. Todos os códigos do JavaScript adicionados aos manipuladores de eventos de formulário ou aos comandos da faixa de opções no aplicativo Web também podem ser executados no CRM para tablets. Há algumas diferenças que você precisa saber.

Neste tópico

Algumas funções de objeto da janela ou de Xrm.Page não funcionarão no CRM para tablets

Especifique qual código será executado no CRM para tablets

Especifique quais comandos serão exibidos no CRM para tablets

Saiba as diferenças entre o CRM para tablets e o aplicativo Web em um navegador

Como depurar scripts no CRM para tablets

Algumas funções de objeto da janela ou de Xrm.Page não funcionarão no CRM para tablets

O CRM para tablets não permite funções que possam impedir 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 acionarã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 seguintes métodos não funcionarão no CRM para tablets.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMétodos ViewPort

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlMétodos de controle IFRAME e recursos da Web

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

Xrm.Page.ui tab.setDisplayState

Conjunto do Xrm.Page.ui.navigation.items

Xrm.Utility.openWebResource

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

Especifique qual código será executado no CRM para 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 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 quais comandos serão exibidos no CRM para 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 funciona com o CRM para tablets, inclua regras de exibição para que os comandos não sejam exibidos no CRM para tablets. Por padrão, todos os comandos definidos serão exibidos no CRM para tablets, a menos que você configure-o explicitamente de outro modo. 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á no CRM para tablets.

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

Saiba as diferenças entre o CRM para tablets e o aplicativo Web em um navegador

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

  • Campos compostos
    O CRM para tablets implementa campos composto de forma diferente. O CRM para tablets não inclui atributos compostos. Em vez disso, ele substitui automaticamente os atributos membros e exibe-os.Para obter mais informações:Scripts de gravação para atributos compostos.

  • IFRAMEs e recursos da Web
    O CRM para tablets não oferece suporte à exibição de recursos da Web ou do IFRAMEs em formulários. Se algum código interagir com esses tipos de controles, saiba que os controles não serão exibidos em um formulário do CRM para tablets e você deverá aplicar a orientação em Especifique qual código será executado no CRM para tablets para que esse código seja executado somente no cliente do navegador da Web.

Como depurar scripts no CRM para tablets

Como o CRM para tablets é um aplicativo, as ferramentas de depuração normais do JavaScript usadas 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 o CRM para tablets. Como as APIs disponíveis para o CRM para tablets são um subconjunto das APIs disponíveis para o navegador da Web, você deverá ser capaz de testar o fluxo alternativo no navegador da Web.

  3. Se possível, instale o CRM para tablets em um computador com o Windows 8 e Microsoft Visual Studio. Inclua as instruções do depurador no local em que deseja iniciar o depurador usando o Visual Studio.

  4. Por último, use Xrm.Utility.alertDialog para exibir valores do código no CRM para tablets.

Confira Também

Criar códigos para os formulários do Microsoft Dynamics CRM 2015
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

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais