Partilhar via


Melhores práticas de personalização

Siga estas melhores práticas 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 negócios, executar processos de negócios e coletar informações para gerar relatórios. No entanto, demasiados campos personalizados num 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 de 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 e subgrades do tipo pesquisa entre campos personalizados.
  • Mova os campos personalizados (especialmente pesquisas e subgrelhas) do primeiro separador do formulário para outros separadores do formulário.
  • Ocultar campos menos usados em um formulário por padrão.

Não altere recursos Web, conjuntos de opções, direitos de acesso nem fluxos de trabalho de origem

Não altere ou personalize recursos web, conjuntos de opções ou direitos de acesso ou fluxos de trabalho pronto a utilizar. Caso contrário, você pode causar um comportamento não intencional do sistema.

As organizações que personalizam esses componentes podem não enfrentar problemas imediatamente em seu ambiente. No entanto, as alterações que a Microsoft lança para os componentes personalizados prontos para uso não são aplicadas aos camada superiores desses componentes. Em vez disso, o camada personalizado específico substitui todas as alterações futuras, e essas substituições eventualmente causam erros e comportamento imprevisíveis.

Não modifique, edite ou elimine campos de data ou estados de sistema

A modificação, edição ou eliminação de campos de datas e estados pode afetar a lógica de negócio e pode causar problemas com as atualizações da solução. Exemplos de campos de data de ordem de serviço incluem Hora Prometida e Hora Prometida. Exemplos de campos de estatuto incluem Status do Sistema para a ordem de serviço e Status do Sistema para o contrato.

Não edite campos prontos nem os remova de formulários

Os clientes editam campos prontos para atender às suas necessidades comerciais. No entanto, a edição de campos prontos pode causar erros, especialmente quando os processos dependem dos valores desses campos.

Para evitar erros:

  • Ocultar campos indesejados em um formulário.
  • Mova campos não pretendidos para outro separador do formulário.

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

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

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

Para evitar erros:

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

Por exemplo, a ordem de serviço do Field Service inclui um campo Status do sistema por padrão. Este campo é um conjunto de opções (do tipo de escolha ) 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 de sistema podem editar os rótulos dos conjuntos de opções (como Não agendado), mas nunca podem editar o valor numérico associado ao rótulo.

Utilizar menos scripts personalizados e seguir as melhores práticas

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

Para evitar estes problemas:

  • Minimize o número de scripts executados durante a 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 práticas recomendadas. Além disso, siga as práticas recomendadas de script de formulário em Práticas recomendadas para desenvolvimento com o Dynamics 365 Customer Engagement.

Minimizar o número de pedidos de rede e a quantidade de dados pedidos 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 carregamentos futuros de formulários.

Evite utilizar pedidos de rede síncronos

Os pedidos de rede síncronos podem causar carregamentos de páginas lentos e formulários que não respondem. Opte pela utilização de pedidos assíncronos. A postagem de blog a seguir fornece mais exemplos: Turbinar seus aplicativos orientados por modelo fazendo a transição de solicitações síncronas. Além disso, considere o uso de "async and wait" em qualquer cenário em que várias chamadas de rede para a mesma entidade e registro sejam necessárias. Saiba mais sobre assíncrono e aguarde.

Evite incluir bibliotecas desnecessárias de recurso Web de Javascript

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 ofereça suporte apenas OnChange a eventos para colunas ou somente 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.

Usar 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 guia é expandida. Quando o estado da guia muda, o TabStateChange evento ocorre. Qualquer código necessário para suportar 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, poderia ter que ocorrer no OnLoad evento.

Evitar duplicar pedidos de rede no código do lado do cliente

Pedidos de rede múltiplos ou duplicados podem fazer com que o browser Web estagne e afete o tempo de carregamento do formulário. A redução do número de pedidos pode melhorar o desempenho. Uma alternativa é consolidar pedidos de rede e colocar em cache o valor dos pedidos. Além disso, considere solicitações de rede assíncronas, como foi mencionado anteriormente.

Evite usar funções e chamadas específicas do utente 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égio do utente. 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 predefinida

OnLoad No caso, evite usar scripts de formulário que ocultam elementos de formulário. 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 OnLoad evento para mostrar os elementos de formulário que você deseja que sejam visíveis.

Saiba mais nos seguintes recursos:

Execute o verificador de soluções em seus scripts

O verificador de soluções do Power Apps é uma ferramenta útil da Microsoft que verifica soluções do Power Apps para problemas e recomenda melhores práticas. Esses problemas incluem problemas com JavaScript, HTML, plug-ins e atividades de fluxo de trabalho personalizadas.

Saiba mais nos seguintes recursos:

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

Os personalizadores de sistema 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, executar fluxos de trabalho de forma síncrona diminui o desempenho. Para evitar problemas de desempenho, execute fluxos de trabalho de forma assíncrona.

Ativar processos de origem do Field Service e o Agendamento de Recursos

O Field Service e o Agendamento de Recursos incluem muitos processos que executam a lógica de negócios necessária. 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 um estado ativo. Para identificar se os processos estão em um estado desativado, execute regularmente o Field Service Hub de Estado de Funcionamento da Solução.

Execute o Hub de Estado de Funcionamento da Solução para detetar problemas

O Hub de Estado de Funcionamento da Solução ajuda você a obter uma imagem melhor do estado do seu ambiente e detetar problemas com seu ambiente do Dynamics 365. A configuração de um ambiente pode mudar ao longo do tempo através de operações de sistema natural. O Hub de Estado de Funcionamento da Solução executa regras dentro de uma instância para validar a configuração do ambiente. Algumas das 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 integridade do seu ambiente, execute regularmente o conjunto de regras Hub de Estado de Funcionamento da Solução.

Considerações sobre o desempenho da aplicação móvel

A personalização do aplicativo móvel pode afetar o desempenho. Saiba mais em Considerações de desempenho ao personalizar o aplicativo móvel.