Compartilhar via


Isolar problemas em aplicativos de tela

Aplicativos de tela permitem criar aplicativos com vários visuais diferentes e várias conexões de dados. Use o IntelliSense e o verificador de aplicativo como guardas contra problemas comuns. Monitorar e o painel Variáveis pode ajudá-lo com a depuração.

Aqui estão algumas outras técnicas para isolar problemas em um aplicativo de tela.

Inspecionar fórmulas com rótulos de depuração

As fórmulas podem ser complexas. Quando as coisas dão errado, pode ser difícil identificar qual parte falhou. Rótulos de depuração são uma técnica útil para ver os resultados de diferentes partes de uma fórmula.

Um rótulo de depuração é um Rótulo com sua propriedade Text definida como uma fórmula de interesse. Ele permite que você veja exatamente como o Power Apps trata essas fórmulas. Para evitar erros de escopo, insira o rótulo de depuração fora de outros controles, como Galeria e Formulário.

Imagine que um controle de caixa combo está mostrando menos do que o esperado e as opções suspensas estão em branco.

Caixa de combinação expandida, mostrando um espaço vazio onde as opções devem estar na lista suspensa.

Verifique se a caixa Combinação está configurada corretamente. Por exemplo, a propriedade Items é definida como uma fórmula complexa abaixo:

AddColumns(
  GroupBy(
    Filter( Products, Rating > 4 ),
    "ProductType",
    "Details"
  ),
  "Total quantity",
  Sum( Details, Quantity )
)

Comece com a expressão Filter( Products, Rating > 4 )mais interna . Insira um rótulo de depuração e defina sua propriedade Text para testar o resultado dessa expressão. Algumas informações úteis para verificar:

  • Verifique se o número de resultados é conforme o esperado: CountRows( Filter( Products, Rating > 4 ) )
  • Examine o primeiro resultado e verifique se o filtro está funcionando conforme o esperado: "Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
  • Verifique os resultados combinando seus nomes: Concat( Filter( Products, Rating > 4 ), ProductName & ", ")

Dica

Ao trabalhar com conjuntos de dados, as tabelas de depuração são úteis para visualizar registros. O conceito é semelhante aos rótulos de depuração. Insira uma tabela Data com sua propriedade Items definida como o conjunto de dados de interesse.

Talvez você queira usar as funções FirstN e LastN para obter um melhor desempenho com conjuntos de dados.

Depois de confirmar que uma expressão é avaliada corretamente, você pode passar para a próxima expressão GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )externa . Ao prosseguir metodicamente, você pode descobrir qual parte de uma expressão complexa não está funcionando.

Ao usar opções suspensas vazias, comece com a propriedade DisplayFields . Imagine que está definido como [ProductType]. Use um rótulo de depuração para verificar se esse campo é reconhecido pelo Power Apps e contém texto. Como todas as opções suspensas estão vazias, é suficiente examinar qualquer registro. Vamos escolher o primeiro registro e ver qual é o campo dele ProductType . Defina o rótulo de depuração como:

First(
  AddColumns(
    GroupBy(
      Filter( Products, Rating > 4 ),
      "ProductType",
      "Details"
    ),
    "Total quantity",
    Sum( Details, Quantity )
  )
).ProductType

Se o resultado estiver vazio, poderá ser:

  • O ProductType campo para esse registro realmente está vazio. Se o conjunto de dados for proveniente de fora do aplicativo, marcar-o fora do Power Apps.
  • Uma ou mais expressões não estão funcionando. Quebre-o conforme descrito acima para reduzir. Pode ser um bug do Power Apps ou um erro ao escrever a fórmula.
  • Os dados não estão atingindo o Power Apps. Pode ser um problema de rede, um problema com a fonte de dados ou um bug do Power Apps.

Se o resultado tiver texto, provavelmente será um bug do Power Apps com o controle. Você pode relatar o bug por meio de uma solicitação de suporte e usar um controle diferente como solução alternativa.

Experimente um controle diferente

Para descobrir se o problema é com um controle específico, tente usar um controle diferente que tenha o mesmo tipo de dados de entrada ou saída.

Booliano

Escolha e Tabela

Date e DateTime

Imagem e mídia

Número

Texto

Todos os tipos

  • Rótulo, depois de converter um valor em texto

Se o mesmo problema ocorrer em um controle diferente, o problema será com as fórmulas ou a fonte de dados usadas. Prossiga com as etapas de depuração acima para isolar ainda mais o problema.

Se o problema ocorrer apenas em um determinado tipo de controle, provavelmente será um bug de controle. Você pode relatar o bug para a Microsoft.

Experimente uma estrutura de aplicativo diferente

As fórmulas podem se comportar de forma diferente para controles dentro de outro controle. Por exemplo, os controles dentro de uma Galeria podem usar o ThisItem , mas os controles fora da galeria não podem. Controles fora de uma Galeria ou Componente não podem referenciar os controles no interior.

Essa visibilidade diferente dos identificadores é chamada de escopo. Controles que contêm outros controles introduzem um novo escopo.

Se uma fórmula não estiver funcionando dentro de um controle contido, ela poderá estar relacionada ao escopo. Tente usar a mesma fórmula fora do contêiner.

Por exemplo, um controle Label dentro de uma Galeria deve mostrar o nome de cada registro, mas nenhum texto está aparecendo. Label.Text está definido como ThisItem.Name. Gallery.Items está definido como Products.

Uma galeria mostra um espaço vazio em vez de texto. O painel de propriedades mostra as fórmulas usadas para os rótulos na galeria.

Para marcar se for um problema de escopo, insira um rótulo de depuração fora da Galeria, no nível superior do aplicativo. Defina sua propriedade Text para mostrar o nome do primeiro registro do conjunto de dados: First(Products).Name.

O rótulo de depuração deve ter o mesmo resultado da primeira linha da galeria. Caso contrário, é provável que seja um bug de escopo com o Power Apps que você pode relatar por meio de uma solicitação de suporte. Por outro lado, se ambos estiverem em branco, o problema poderá ser com a fonte de dados.

Algumas soluções alternativas possíveis para problemas de escopo:

Restaurar para uma versão anterior

Se você ainda não fez grandes alterações em um aplicativo e, de repente, parou de funcionar depois de republicá-lo, tente restaurá-lo na versão anterior. Se ele funcionar novamente, examine as alterações feitas para ver o que pode ter quebrado o aplicativo.

Às vezes, bugs podem ser introduzidos com novas versões do Power Apps. Por outro lado, novas versões podem trazer correções de bugs. Suporte da Microsoft pode recomendar se você deve reverter para uma versão de criação mais antiga ou atualizar para uma versão mais recente. Lembre-se de que há suporte limitado para versões não recomendadas se você alterar a versão de criação por conta própria.

Criar um aplicativo de repro mínimo

O processo de criação de um aplicativo de repro mínimo pode descobrir erros de configuração de aplicativo que não são óbvios com um aplicativo complexo. 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

Depurando aplicativos de tela com o Monitor

Confira também

Estratégias gerais de depuração do Power Apps