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. Se o formulário de ordem de serviço for o formulário mais usado no aplicativo Field Service, será uma boa ideia começar por esse formulário.
- Minimize o número de campos de tipo pesquisa e subgrades dentre campos personalizados.
- Mova os campos personalizados (especialmente pesquisas e subgrades) da primeira guia para outras guias do formulário.
- Oculte os campos menos usados 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ê pode causar um comportamento não intencional do sistema.
As organizações que personalizam esses componentes talvez não passem por problemas de imediato no ambiente. No entanto, as alterações que o Microsoft libera para os componentes prontos para uso personalizados não são aplicadas à camada superior desses componentes. Em vez disso, a camada personalizada específica substitui todas as alterações futuras, e essas substituições eventualmente causam erros e comportamento 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 de ordem de serviço incluem Hora Inicial Prometida e Hora Final Prometida. Exemplos de campos de status incluem Status do Sistema da ordem de serviço e Status do Sistema do contrato.
Não editar campos prontos nem removê-los 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 dos valores desses campos.
Para evitar erros:
- Oculte os 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 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 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 do conjunto de opções de 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 rótulos do conjunto de opções dos campos prontos para uso. Nunca edite os valores do 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, 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 (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 do sistema podem editar os rótulos dos conjuntos de opções (como Não Agendado), mas nunca o valor numérico associado ao 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 as atualizações.
Para evitar esses problemas:
- Minimize o número de scripts executados durante a carga.
- Não escreva scripts que chamem muitos dados e não gravem vários scripts que chamem os mesmos dados.
As subseções a seguir descrevem as melhores práticas. Além disso, siga as melhores práticas de script do formulário em Melhores práticas para desenvolvimento com Dynamics 365 Customer Engagement.
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 mais 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 durante carregamentos de formulário 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. A seguinte postagem no blog oferece mais exemplos: Turbinar seus aplicativos baseados em modelo ao fazer a transição das solicitações síncronas. 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. Saiba mais sobre async e await.
Evite incluir bibliotecas de recursos da Web de Javascript desnecessárias
Quanto mais scripts você adiciona a um formulário, mais tempo leva para baixá-los. Normalmente, os scripts são armazenados em cache no navegador depois de serem carregados pela primeira vez. No entanto, o desempenho na primeira vez que um formulário é exibido geralmente cria uma impressão significativa.
Evite carregar todos os scripts no evento Onload
Se você tiver um código que oferece suporte apenas para eventos do OnChange
para colunas ou o evento OnSave
, certifique-se de definir a biblioteca de scripts com o manipulador de eventos para esses eventos ao invés do evento OnLoad
. Dessa forma, carregar essas bibliotecas pode atrasar e aumentar o desempenho ao carregar o formulário.
Use para guias ocultas para atrasar o carregamento de recursos da Web
Os recursos da Web ou componentes iFrame incluídos nas seções em uma guia recolhível não serão carregados se a guia estiver recolhida. Eles só 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 iFrames nas guias recolhidas pode usar manipuladores de eventos para o evento TabStateChange
e reduzir o código que pode 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. Além disso, considere solicitações de rede assíncronas, como foi mencionado anteriormente.
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 informações de privilégios dos usuários. 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
No evento OnLoad
, evite usar formulários de script que ocultem elementos do formulário. Em vez disso, para elementos do formulário que possam estar ocultos, defina as opções de visibilidade padrão, de maneira que os elementos permaneçam ocultos por padrão ao carregar formulários. Em seguida, use scripts no evento OnLoad
para mostrar os elementos de formulário que você deseja que sejam visíveis.
Saiba mais nos seguintes recursos:
Executar o verificador da 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.
Saiba mais nos seguintes recursos:
- Melhorar o desempenho, a estabilidade e a confiabilidade dos componentes com o verificador de solução
- Como executar e usar o verificador da solução do Power Apps
- Verificador de Solução do Dataverse
Usar fluxos de trabalho assíncronos em vez de fluxos de trabalho síncronos
Os personalizadores do sistema costumam escrever fluxos de trabalho síncronos para realizar a lógica de negócios em tempo real 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 incluem 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. Para identificar se os processos estão em um estado desativado, regularmente execute o Hub de Integridade da Solução do Field Service.
Executar o Hub de Integridade da Solução para detectar problemas
O Hub de Integridade da Solução ajuda você a ter a melhor informação sobre o estado do ambiente e detecte problemas com o 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 em 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 você tiver um problema. Algumas regras são disparadas automaticamente quando o Field Service é instalado ou atualizado.
Para monitorar a integridade do seu ambiente, regularmente execute o conjunto de regras do 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 sobre desempenho ao personalizar o aplicativo móvel.