Compartilhar 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 aos formulários de entidade para capturar informações específicas de seu setor e negócio, para executar processos de negócios e para coletar informações para relatórios. 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. Se o formulário ordem de serviço for o formulário mais usado no aplicativo Field Service, é uma boa ideia começar com esse formulário.
  • Minimize o número de campos do tipo pesquisa e subgrades entre campos personalizados.
  • Mova os campos personalizados (especialmente pesquisas e subgrades) da primeira guia para outras guias do formulário.
  • Ocultar campos menos utilizados em um formulário por padrão.

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

Não altere nem personalize recursos da Web, conjuntos de opções, direitos de acesso ou fluxos de trabalho. Caso contrário, você poderá causar um comportamento indesejado no sistema.

Organizações que personalizam esses componentes podem não ter problemas imediatos em seu ambiente. No entanto, as alterações que a Microsoft lança nos componentes personalizados prontos para uso não são aplicadas ao topo ideia desses componentes. Em vez disso, o camada personalizado específico substitui todas as alterações futuras, e essas substituições eventualmente causam erros e comportamentos imprevisíveis.

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

A modificação, a edição ou a exclusão de campos de data e status pode afetar a lógica de negócios e causar problemas em atualizações de solução. Exemplos de campos de data camada incluem Hora a partir da promessa e Hora até a promessa. Exemplos de campos de status incluem Status do Sistema para o ordem de serviço e Status do Sistema para o contrato.

Não edite campos prontos para uso nem os remova dos formulários

Os clientes editam campos prontos para uso para atender às suas necessidades comerciais. No entanto, editar campos prontos para uso pode causar erros, especialmente quando os processos dependem dos valores desses campos.

Para evitar erros:

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

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

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

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

Para evitar erros:

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

Por exemplo, o Field Service ordem de serviço inclui um campo Status do Sistema por padrão. Este campo é um conjunto de opções (do tipo choice ) e tem opções como Não agendado, Agendado, Em andamento, Concluído e Cancelado. Cada opção tem 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 programado), mas nunca podem editar o valor numérico associado ao rótulo.

Usar menos scripts personalizados e seguir as práticas recomendadas

Os personalizadores de sistemas escrevem scripts, normalmente recursos da web JavaScript, para executar lógica de negócios. No entanto, scripts personalizados podem causar problemas de desempenho, erros e complicações durante atualizações.

Para evitar esses problemas:

  • Minimize o número de scripts executados na carga.
  • Não escreva scripts que chamem muitos dados e não escreva vários scripts que chamem os mesmos dados.

As subseções a seguir descrevem as melhores práticas. Além disso, siga as práticas recomendadas do script de formulário em Práticas recomendadas para desenvolvimento com o Dynamics 365 Customer Engagement.

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

Quanto mais solicitações de rede forem feitas durante o carregamento de um formulário e quanto mais dados forem baixados dessas solicitações, mais tempo levará para carregar o formulário. Solicite apenas a quantidade mínima de dados necessária. Além disso, considere armazenar os dados em cache quando possível, para evitar solicitar dados desnecessariamente durante futuros carregamentos de formulários.

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. A postagem do blog a seguir fornece mais exemplos: Turbine seus aplicativos baseados em modelos abandonando solicitações síncronas. Além disso, considere usar "async and wait" em qualquer cenário em que sejam necessárias várias chamadas de rede para a mesma entidade e registro. Saiba mais sobre async e await.

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

Quanto mais scripts você adicionar a um formulário, mais tempo levará para baixá-los. Normalmente, os scripts são armazenados em cache no seu navegador depois de serem carregados pela primeira vez. No entanto, o desempenho na primeira vez que um formulário é visualizado geralmente cria uma impressão significativa.

Evite carregar todos os scripts no evento Onload

Se você tiver um código que suporte apenas OnChange eventos para colunas ou apenas o OnSave evento, certifique-se de definir a biblioteca de scripts com o manipulador de eventos para esses eventos em vez do OnLoad evento. Dessa forma, o carregamento dessas bibliotecas pode ser adiado e o desempenho aumenta quando o formulário é carregado.

Use guias recolhidas para adiar o carregamento de recursos da web

Recursos da Web ou iFrame componentes incluídos em seções em uma guia recolhível não serão carregados se a guia estiver recolhida. Eles são carregados somente quando a aba é expandida. Quando o estado da guia muda, o TabStateChange evento ocorre. Qualquer código necessário para dar suporte a recursos da web ou iFrames em guias recolhidas pode usar manipuladores de eventos para o TabStateChange evento e reduzir o código que, de outra forma, teria que ocorrer no OnLoad evento.

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. Além disso, considere solicitações de rede assíncronas, como foi mencionado anteriormente.

Evite usar funções e chamadas específicas do usuário do sistema se as informações relevantes estiverem disponíveis nas APIs XRM

Use APIs XRM para evitar solicitações de rede para obter informações de privilégios do usuário. Saiba mais sobre como fazer a transição de solicitações síncronas. Além disso, 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

Nesse caso, evite usar scripts de formulário que ocultem elementos de formulário. OnLoad Em vez disso, para elementos de formulário que podem estar ocultos, defina as opções de visibilidade padrão para que os elementos fiquem ocultos por padrão quando o formulário for carregado. Em seguida, use scripts no evento OnLoad para mostrar os elementos do formulário que você deseja que fiquem visíveis.

Saiba mais nos seguintes recursos:

Execute o verificador de soluções em 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, plugins e atividades de fluxo de trabalho personalizadas.

Saiba mais nos seguintes recursos:

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

Os personalizadores de sistemas geralmente escrevem fluxos de trabalho síncronos para executar, em tempo real, a lógica de negócios 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 Resource Scheduling incluem muitos processos que executam a lógica empresarial necessária. Os processos desativados podem levar a erros. Para evitar problemas, certifique-se de que todos os processos de Field Service e Agendamento de Recursos estejam em estado ativo. Para identificar se os processos estão em um estado desativado, execute regularmente o Field Service Hub de Integridade da Solução.

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

O Hub de Integridade da Solução ajuda você a ter uma ideia melhor do estado do seu ambiente e detectar problemas com seu ambiente do Dynamics 365. A configuração de um ambiente pode mudar ao longo do tempo por meio de operações naturais do sistema. O Hub de Integridade da Solução executa regras dentro de uma instância para validar a configuração do ambiente. Algumas regras são específicas do Field Service e você pode executá-las sob demanda quando encontrar um problema. Algumas regras são acionadas automaticamente quando o Field Service é instalado ou atualizado.

Para monitorar a saúde do seu ambiente, execute regularmente o conjunto de regras Hub de Integridade da Solução.

Considerações de desempenho do aplicativo móvel

Personalizar o aplicativo móvel pode afetar o desempenho. Saiba mais em Considerações de desempenho ao personalizar o aplicativo móvel.