Isolar problemas em aplicativos baseados em modelo
Os aplicativos baseados em modelo são orientados pela configuração. Você pode fornecer instruções de alto nível para gerar um aplicativo. Você também pode introduzir componentes personalizados que afetam várias partes do aplicativo. Quando um aplicativo não está se comportando conforme o esperado, pode não ser óbvio se é um erro de personalização ou um bug no sistema do Power Apps.
Aqui estão algumas técnicas para isolar problemas em um aplicativo baseado em modelo.
Remover personalizações
Os seguintes recursos podem afetar a operação normal. Tente desativá-los ou removê-los e verifique se o problema ainda ocorre. Saiba mais sobre como localizar e desabilitar personalizações em formulários.
Regras de negócios
Afeta: Páginas de formulário
As regras de negócios alteram o comportamento de um formulário com base no estado de um registro. Tente desabilitar ou simplificar a regra e verifique se o formulário ainda funciona conforme o esperado.
Scripts de cliente
Afeta: Páginas de formulário
Os scripts de cliente contêm código JavaScript que pode entrar em conflito com o sistema do Power Apps ou alterá-lo de maneiras inesperadas. Se desabilitar o script resolver o problema, você deverá isolar qual parte do script personalizado causa o problema.
Você pode desativar temporariamente todos os scripts personalizados anexando-os à URL da página:
&flags=DisableFormLibraries=true,DisableWebResourceControls=true
Comandos personalizados
Afeta: Páginas de formulário, páginas de exibição baseadas em tabela
Se ocorrer um problema após selecionar um comando na barra de comandos, verifique se é um comando personalizado. Os comandos personalizados podem conter código JavaScript que causa um comportamento inesperado. Os comandos modernos podem ter ações personalizadas definidas com o Power Fx. Em ambos os casos, tente simplificar o comando para descobrir se há um erro na forma como o comando personalizado é definido.
Controles personalizados
Afeta: páginas de formulário, páginas de exibição baseadas em tabela, páginas personalizadas
Você pode substituir controles em páginas de formulário ou substituir o controle de grade usado em páginas de exibição baseadas em tabela por componentes do Power Apps. Esses controles são controles personalizados com código JavaScript e CSS que podem afetar outras partes da página. Tente alternar para um controle pronto para uso para ver se o controle personalizado é o problema.
Plug-ins e processos de servidor
Afeta: Todas as páginas
Os administradores podem instalar plug-ins e criar processos que modificam a lógica de negócios de um aplicativo. Verifique com o administrador se há personalizações relevantes do lado do servidor.
Compare com configurações prontas para uso
Para ajudar a determinar se algo é um erro de configuração, pode ser útil verificar outras partes do aplicativo.
Por exemplo, o problema acontece com um diferente:
- Tabela (entidade)
- Exibir
- App com a mesma tabela
- Formulário para a mesma tabela
- Controle que faz referência à mesma coluna (atributo)
O ideal é comparar com um pronto para uso que não tenha sido personalizado. Por exemplo, se o problema for com uma tabela (entidade) que você criou, verifique uma tabela pronta para uso.
Se o problema não acontecer em outro lugar, compare as diferenças com a forma como eles estão configurados. Talvez as relações e permissões de tabela sejam configuradas de forma diferente. Ou uma tabela não está habilitada para a Interface Unificada.
Recriar itens
Criar um item do zero não apenas permite examinar e comparar configurações padrão, mas também pode corrigir configurações corrompidas.
Se algum dos itens a seguir não estiver funcionando, tente recriá-lo. Pode ser uma versão simplificada, para restringir qual parte não está funcionando.
- Tabela personalizada (entidade)
- Exibir
- Formulário
- Script personalizado
Verifique se todos os componentes necessários foram adicionados a um aplicativo
Os componentes do aplicativo baseado em modelo incluem tabelas e suas tabelas, formulários, colunas, exibições, gráficos, painéis e fluxos de processos empresariais relacionados. Por motivos de desempenho, apenas os componentes adicionados a um aplicativo serão baixados.
Se um componente não aparecer ou se comportar de forma inconsistente, verifique se ele foi adicionado ao aplicativo. Por exemplo, se a tabela Teams não aparecer no controle de pesquisa de um formulário, mas outras tabelas aparecerem, a tabela Teams poderá não ter sido adicionada ao aplicativo.
Você pode adicionar os seguintes componentes a um aplicativo usando o designer de aplicativo moderno.
- Tabelas e tabelas relacionadas: criar uma página de tabela do Dataverse
- Formulários: adicionar formulários a um aplicativo
- Colunas (campos de formulário): adicionar colunas a um formulário
- Exibições e gráficos: gerenciar exibições e gráficos em uma página de tabela do Dataverse
- Painéis: criar uma página Painel
- Fluxos do processo empresarial: adicionar um fluxo do processo empresarial no painel Automação
Você também pode adicionar esses componentes usando o designer de aplicativo clássico.
Para que as tabelas sejam usadas offline, elas precisam ser adicionadas a um perfil offline. Para obter mais informações, consulte as diretrizes do Mobile Offline.
Descubra se o problema ocorre ao obter ou mostrar dados
Quando os dados não estão sendo exibidos corretamente em um aplicativo, pode ser um problema do servidor ao fornecer os dados ou um problema do aplicativo ao processá-los e exibi-los. Para restringir a causa, você pode tentar métodos gerais para isolar a camada problemática.
Os aplicativos baseados em modelo têm um fluxo de dados complexo. Aqui estão coisas mais avançadas para tentar.
- Examine o FetchXML das solicitações de rede e verifique se o aplicativo está fazendo as solicitações de rede corretas e recebendo dados corretamente do servidor. Você pode usar o Monitor para exibir solicitações de rede.
- Se o aplicativo tiver um perfil offline, tente remover o usuário do perfil ou do perfil completamente. Mesmo quando há uma conexão com a Internet, o fluxo de dados é diferente para aplicativos que podem funcionar offline.
- Verifique se há problemas de permissão tentando um usuário ou tabela diferente.
Simplifique scripts personalizados
Os scripts personalizados são um recurso avançado para desenvolvedores. Eles podem ser usados em formulários, comandos personalizados, componentes do Power Apps e recursos da Web da página da Web (HTML). Há uma enorme flexibilidade no que os scripts podem fazer, mas também há uma grande chance de que eles possam quebrar acidentalmente o sistema.
Se você suspeitar que um script está causando um problema, siga estas etapas:
Desative todos os scripts personalizados e veja se o problema ainda acontece.
Caso contrário, habilite os scripts um por um para ver qual deles causa o problema.
Depois que os scripts forem encontrados que causam o problema, remova o código irrelevante deles. Por exemplo, se apenas um campo tiver um problema, remova o código que interage com outros campos de formulário.
Simplificando progressivamente o script, você deve ser capaz de determinar se o problema é causado por código personalizado ou comportamento incorreto dos recursos da API do cliente.
Se o erro for de código personalizado, entre em contato com o desenvolvedor que escreveu o script para obter assistência.
Se um recurso da API do cliente não estiver funcionando conforme documentado, você poderá relatá-lo à Microsoft. Anexe uma cópia do script simplificado e mencione qual recurso da API não está funcionando.
Crie um aplicativo de reprodução de baunilha
O processo de criação de um aplicativo de reprodução básico pode revelar erros de configuração que não são óbvios em um ambiente com muitas personalizações. Mesmo que o problema não seja corrigido, você teria restringido a causa e facilitado a explicação do problema para outras pessoas.
Próximas etapas
- Solucionar problemas de comandos
- Solucionar problemas de formulários
- Solucionar problemas de plug-ins
- Solucionar problemas de permissão com o Microsoft Dataverse
- Depurar aplicativos baseados em modelos com o Monitor
- Depurando formulários de aplicativos baseados em modelo com o Monitor