Isolar problemas em aplicativos controlados por modelo
Os aplicativos controlados por modelos são controlados pela configuração. Você pode dar 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, talvez não seja ó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 controlado por modelos.
Remover personalizações
Os recursos a seguir podem afetar a operação normal. Tente desabilitar ou removê-los e marcar se o problema ainda ocorrer. Saiba mais sobre como encontrar 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 marcar se o formulário ainda funcionar conforme o esperado.
Scripts do cliente
Afeta: Páginas de formulário
Os scripts do 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 desabilitar temporariamente todos os scripts personalizados acrescentando isso à 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 um problema acontecer depois de selecionar um comando na barra de comandos, marcar se for um comando personalizado. Comandos personalizados podem conter código JavaScript que causa comportamento inesperado. 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 em 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 fora da caixa para ver se o controle personalizado é o problema.
Plug-ins e processos do 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.
Comparar com configurações fora da caixa
Para ajudar a determinar se algo é um erro de configuração, pode ser útil marcar outras partes do aplicativo.
Por exemplo, o problema ocorre com um diferente:
- Tabela (entidade)
- Exibir
- Aplicativo com a mesma tabela
- Formulário para a mesma tabela
- Controle referenciando a mesma coluna (atributo)
Idealmente, compare com um que não foi personalizado. Por exemplo, se o problema for com uma tabela (entidade) que você criou, marcar uma tabela fora da caixa.
Se o problema não acontecer em outro lugar, compare as diferenças com a forma como elas são configuradas. Talvez as relações e permissões de tabela sejam configuradas de forma diferente. Ou uma tabela não está habilitada para Interface Unificada.
Recriar itens
Criar um item do zero não só permite examinar e comparar configurações padrão, como também pode corrigir configurações corrompidas.
Se algum dos seguintes não estiver funcionando, tente re-criá-los. 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 são adicionados a um aplicativo
Os componentes do aplicativo controlado por modelo incluem tabelas e suas tabelas, formulários, colunas, exibições, gráficos, painéis e fluxos de processos de negócios relacionados. Por motivos de desempenho, somente os componentes adicionados a um aplicativo serão baixados.
Se um componente não aparecer ou se comportar de forma inconsistente, marcar se ele for 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 do 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
- Forms: 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
- Dashboards: criar uma página do Dashboard
- Fluxos de processo de negócios: adicionar um fluxo de processo de negócios 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 diretrizes offline móveis.
Descubra se o problema ocorre ao obter dados ou mostrar dados
Quando os dados não são exibidos corretamente em um aplicativo, pode ser um problema do servidor no fornecimento dos dados ou um problema do aplicativo no processamento e exibição dele. Para reduzir a causa, você pode tentar métodos gerais para isolar a camada problemática.
Aplicativos controlados por modelos têm um fluxo de dados complexo. Aqui estão coisas mais avançadas para tentar.
- Examine o FetchXML de solicitações de rede e marcar se o aplicativo está fazendo as solicitações de rede certas 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 inteiramente. 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.
Simplificar scripts personalizados
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 web HTML (página da Web). Há uma enorme flexibilidade no que os scripts podem fazer, mas também há uma grande chance de que eles possam acidentalmente quebrar o sistema.
Se você suspeitar que um script está causando um problema, siga estas etapas:
Desabilite todos os scripts personalizados e veja se o problema ainda acontece.
Se não o fizer, habilite 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 do código personalizado, entre em contato com o desenvolvedor que escreveu o script para obter assistência.
Se um recurso de API do Cliente não estiver funcionando conforme documentado, você poderá denunciá-lo à Microsoft. Anexar uma cópia do script simplificado e menção qual recurso de API não está funcionando.
Criar um aplicativo de reprodução de baunilha
O processo de criação de um aplicativo de reprodução de baunilha pode descobrir 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
- Depurando aplicativos controlados por modelos com o Monitor
- Depurando formulários de aplicativos controlados por modelos com o Monitor