Share via


Práticas recomendadas de personalização

Siga estas práticas recomendadas para evitar problemas de desempenho, usabilidade e capacidade de suporte com o Dynamics 365 Field Service.

Minimizar campos personalizados em formulários

Os personalizadores de sistema adicionam campos personalizados a formulários de entidade para capturar informações específicas de seu setor e de seus negócios, para executar processos empresariais e para coletar informações a serem relatadas. No entanto, muitos campos personalizados em um formulário podem causar problemas de desempenho.

Para evitar problemas de desempenho:

  • Minimize o número de campos personalizados em todos os formulários. Começar com o formulário de ordem de serviço é uma boa ideia se esse for o formulário mais usado no aplicativo Field Service.
  • Entre os campos personalizados, a minimização de campos do tipo pesquisa e subgrade tem maior efeito no desempenho do formulário, por exemplo, nos tempos de carregamento.
  • Mova os campos personalizados (especialmente pesquisas e subgrades) da primeira guia para outras guias do formulário.
  • Oculte os campos menos usados por padrão no formulário.

Não altere recursos da Web, conjuntos de opções, direitos de acesso ou fluxos de trabalho predefinidos prontos para uso

Não há suporte à personalização, obtenção de dependências ou invocação personalizada de recursos da Web, conjuntos de opções, funções de segurança ou fluxos de trabalho prontos para uso e podem resultar em comportamento não intencional do sistema.

As organizações que personalizam esses componentes podem não ver imediatamente os problemas em seu ambiente. No entanto, como a Microsoft lança alterações nos componentes prontos para uso personalizados, essas alterações não serão aplicadas à camada superior desse componente. A camada personalizada específica substitui todas as alterações futuras, que eventualmente causam erros e comportamentos imprevisíveis.

Não modifique, edite ou exclua campos de data ou status do sistema

Modificar, editar ou excluir campos de data e status pode afetar a lógica de negócios e pode causar problemas com as atualizações da solução. Exemplos de data da ordem de serviço são hora inicial prometida e hora final prometida. Exemplos de campos de status incluem o status do sistema da ordem de serviço e o status do sistema do contrato.

Não editar ou remover campos prontos para uso de formulários

Os clientes editam campos prontos para uso para acomodar suas necessidades de negócios. No entanto, editar campos prontos para uso pode causar erros, especialmente quando os processos dependem desses valores de campo.

Para evitar erros:

  • Oculte os campos indesejados de um formulário.
  • Mova os campos indesejados para outra guia do formulário.

Veja um exemplo: os processos do Field Service calculam o valor do campo Hora de Chegada Estimada no registro Reserva de Recursos Reserváveis para indicar quando um trabalhador da linha de frente deve chegar ao local. Se a sua organização não precisar desse campo, oculte-o no formulário em vez de removê-lo.

Para obter mais informações, consulte estes artigos:

Não edite os valores do conjunto de opções (escolha)

Editar os valores do conjunto de opções de campos prontos para uso pode causar erros, especialmente quando os processos dependem desses valores de campo ou durante atualizações.

Para evitar erros:

  • Edite apenas os rótulos do conjunto de opções e nunca edite os valores do conjunto de opções de campos prontos para uso.
  • Não remova nenhuma opção do conjunto de opções.
  • Não adicione nenhuma opção do conjunto de opções.

Veja um exemplo: a ordem de serviço do Field Service inclui um campo chamado "Status do Sistema" por padrão. Esse campo é um conjunto de opções com opções como Não Agendado, Agendado, Em andamento, Concluído, Cancelado etc. Cada uma dessas opções possui um rótulo e um valor numérico associado. Os administradores do sistema podem editar os rótulos dos conjuntos de opções (como "Não Agendado"), mas nunca o valor numérico associado do rótulo.

Usar menos scripts personalizados e seguir as práticas recomendadas

Os personalizadores de sistema escrevem scripts, normalmente recursos da Web em JavaScript, para executar a lógica de negócios. No entanto, os scripts personalizados podem causar problemas de desempenho, erros e complicações durante a atualização.

Para evitar esses problemas:

  • Minimize a execução de scripts durante o carregamento.
  • Não escreva scripts que chamem muitos dados ou vários scripts que chamem os mesmos dados.

Siga mais práticas recomendadas de script de formulário, incluindo as seguintes práticas recomendadas:

Minimizar o número de solicitações de rede e a quantidade de dados solicitados no evento OnLoad

Quanto maior o número de solicitações de rede feitas durante o carregamento de um formulário e quanto maior a quantidade de dados baixados dessas solicitações, mais tempo levará para o formulário ser carregado. Solicite somente a quantidade mínima de dados necessária. Além disso, considere armazenar os dados em cache quando possível para evitar a solicitação desnecessária de dados em carregamentos de página futuros.

Evitar usar solicitações de rede síncronas

As solicitações de rede síncronas podem causar carregamentos de página lentos e formulários sem resposta. Em vez disso, use solicitações assíncronas. Consulte esta postagem no blog para ver mais exemplos. Além disso, considere o uso de "assíncrono e espera" em qualquer cenário em que várias chamadas de rede para a mesma entidade e registro sejam necessárias; encontre mais detalhes aqui.

Evite incluir bibliotecas de recursos da Web de Javascript desnecessárias

Quanto mais scripts você adiciona ao formulário, mais tempo levará para baixá-los. Os scripts geralmente são armazenados em cache no navegador depois de serem carregados pela primeira vez, mas o desempenho na primeira vez que um formulário é exibido geralmente cria uma boa impressão.

Evite carregar todos os scripts no evento Onload

Se você tiver um código que oferece suporte apenas a eventos OnChange para colunas ou o evento OnSave, configure a biblioteca de scripts com o manipulador de eventos para esses eventos em vez do evento OnLoad. Dessa forma, carregar essas bibliotecas pode atrasar e aumentar o desempenho ao carregar formulários.

Use para guias ocultas para atrasar o carregamento de recursos da Web

Quando os recursos da Web ou componentes do iFrame forem incluídos nas seções de uma guia recolhida, eles não serão carregados se a guia estiver recolhida. Eles serão carregados quando a guia for expandida. Quando o estado da guia muda, o evento TabStateChange ocorre. Um código necessário para oferecer suporte aos recursos da Web ou do iFrame nas guias recolhidas pode usar manipuladores de eventos para o evento TabStateChange e reduzir o código que pode precisar ocorrer no evento OnLoad.

Evitar solicitações de rede duplicadas no código do cliente

Solicitações de rede múltiplas ou duplicadas podem interromper o funcionamento do navegador da Web e afetar o tempo de carregamento do formulário. Reduzir o número de solicitações pode melhorar o desempenho. Uma alternativa é consolidar as solicitações de rede e armazenar em cache o valor das solicitações. Considere também fazer essas solicitações de rede de assíncronas, conforme mencionado acima.

Evitar o uso de funções e chamadas específicas de usuários do sistema se as informações relevantes estiverem disponíveis nas APIs XRM

Use APIs XRM para evitar solicitações de rede a fim de obter informações sobre privilégios dos usuários. Consulte o seguinte artigo sobre como fazer a transição de solicitações síncronas. Da mesma forma, evite chamadas de usuários do sistema se as informações das APIs XRM atenderem aos seus requisitos.

Definir opções de visibilidade padrão

Evite usar scripts de formulário no evento OnLoad que ocultem elementos de formulário. Em vez disso, defina as opções de visibilidade padrão para elementos do formulário que possam estar ocultos e não estar visíveis por padrão ao carregar formulários. Em seguida, use scripts no evento OnLoad para mostrar os elementos de formulário que você deseja exibir.

Para obter mais informações, confira estes recursos:

Executar o Verificador de Solução nos seus scripts

O verificador de solução do Power Apps é uma ferramenta útil da Microsoft que verifica as soluções do Power Apps para ver se há problemas e indica as práticas recomendadas. Esses problemas incluem problemas com JavaScript, HTML, plug-ins e atividades de fluxo de trabalho personalizadas.

Para obter mais informações, confira estes recursos:

Usar fluxos de trabalho assíncronos em vez de síncronos

Os personalizadores do sistema costumam escrever fluxos de trabalho síncronos para realizar a lógica de negócios em tempo real, que é executada quando os dados são alterados no Field Service. No entanto, a execução de fluxos de trabalho de forma síncrona diminui o desempenho.

Para evitar problemas de desempenho, execute fluxos de trabalho de forma assíncrona.

Ative o Field Service e os processos do Agendamento de Recursos prontos para uso

O Field Service e o Agendamento de Recursos são fornecidos com muitos processos que executam a lógica de negócios necessária.

Os processos desativados podem levar a erros.

Para evitar problemas, certifique-se de que todos os processos do Field Service e do Agendamento de Recursos estejam em um estado ativo. Regularmente execute o Hub de Integridade da Solução do Field Service para identificar se os processos estão em um estado desativado.

Executar o Hub de Integridade da Solução para detectar problemas

O Hub de Integridade da Solução permite que você tenha a melhor informação sobre o estado do ambiente e detecte problemas com o ambiente do Dynamics 365. O Hub de Integridade da Solução executa regras na instância para validar a configuração do ambiente, que pode ser alterada com o tempo por meio de operações naturais sistema. Algumas regras são específicas do Dynamics 365 Field Service e você pode executar as regras sob demanda quando você tiver um problema. Algumas regras são disparadas automaticamente quando o Field Service é instalado ou atualizado.

Regularmente execute o conjunto de regras do Hub de Integridade da Solução do Field Service para monitorar a integridade do seu ambiente.

Considerações de desempenho do aplicativo móvel

Personalizar o aplicativo móvel também pode afetar o desempenho. Para obter mais informações, consulte este artigo: Considerações de desempenho ao personalizar o aplicativo móvel