Condividi tramite


Isolare i problemi nelle app canvas

Le app Canvas consentono di progettare app con numerosi oggetti visivi diversi e varie connessioni dati. Usare IntelliSense e il controllo app come protezione da problemi comuni. Il monitoraggio e il pannello Variabili consentono di eseguire il debug.

Ecco alcune altre tecniche per isolare i problemi in un'app canvas.

Esaminare le formule con etichette di debug

Le formule possono essere complesse. Quando le cose vanno male, può essere difficile individuare quale parte ha avuto esito negativo. Le etichette di debug sono una tecnica utile per visualizzare i risultati di diverse parti di una formula.

Un'etichetta di debug è un'etichetta con la relativa proprietà Text impostata su una formula di interesse. Consente di visualizzare esattamente il modo in cui Power Apps gestisce queste formule. Per evitare bug di ambito, inserire l'etichetta di debug all'esterno di altri controlli, ad esempio Raccolta e Modulo.

Si supponga che un controllo casella combinata mostri meno del previsto e che le opzioni a discesa siano vuote.

Casella combinata espansa, che mostra uno spazio vuoto in cui le opzioni devono essere presenti nell'elenco a discesa.

Controllare se la casella combinata è configurata correttamente. Ad esempio, la proprietà Items è impostata su una formula complessa seguente:

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

Iniziare con l'espressione Filter( Products, Rating > 4 )più interna . Inserire un'etichetta di debug e impostarne la proprietà Text per testare il risultato di tale espressione. Alcune informazioni utili per la verifica:

  • Controllare se il numero di risultati è quello previsto: CountRows( Filter( Products, Rating > 4 ) )
  • Esaminare il primo risultato e verificare che il filtro funzioni come previsto: "Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
  • Controllare i risultati combinando i nomi: Concat( Filter( Products, Rating > 4 ), ProductName & ", ")

Consiglio

Quando si usano i set di dati, le tabelle di debug sono utili per l'anteprima dei record. Il concetto è simile alle etichette di debug. Inserire una tabella Dati con la relativa proprietà Items impostata sul set di dati di interesse.

È possibile usare le funzioni FirstN e LastN per migliorare le prestazioni con i set di dati.

Dopo aver confermato che un'espressione viene valutata correttamente, è possibile passare all'espressione GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )esterna successiva. Procedendo in modo metodico, è possibile scoprire quale parte di un'espressione complessa non funziona.

Quando si usano opzioni a discesa vuote, iniziare con la proprietà DisplayFields . Si supponga che sia impostato su [ProductType]. Usare un'etichetta di debug per verificare che questo campo sia riconosciuto da Power Apps e contenga testo. Poiché tutte le opzioni a discesa sono vuote, è sufficiente esaminare qualsiasi record. Selezioniamo il primo record e vediamo qual è il relativo ProductType campo. Impostare l'etichetta di debug su:

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

Se il risultato è vuoto, potrebbe essere:

  • Il ProductType campo per tale record è davvero vuoto. Se il set di dati proviene dall'esterno dell'app, controllarlo all'esterno di Power Apps.
  • Una o più espressioni non funzionano. Suddividerlo come descritto in precedenza per restringerlo. Potrebbe trattarsi di un bug di Power Apps o di un errore durante la scrittura della formula.
  • I dati non raggiungono Power Apps. Potrebbe trattarsi di un problema di rete, un problema con l'origine dati o un bug di Power Apps.

Se il risultato contiene testo, è probabile che si tratti di un bug di Power Apps con il controllo . È possibile segnalare il bug tramite una richiesta di supporto e usare un controllo diverso come soluzione alternativa.

Provare un controllo diverso

Per scoprire se il problema riguarda un controllo specifico, provare a usare un controllo diverso con lo stesso tipo di dati di input o output.

Booleano

Scelta e tabella

Date e DateTime

Immagine e supporti

Numero

Testo

Tutti i tipi

  • Etichetta, dopo la conversione di un valore in testo

Se lo stesso problema si verifica in un controllo diverso, il problema riguarda le formule o l'origine dati usata. Procedere con i passaggi di debug precedenti per isolare ulteriormente il problema.

Se il problema si verifica solo su un particolare tipo di controllo, è probabile che si tratti di un bug di controllo. È possibile segnalare il bug a Microsoft.

Provare una struttura di app diversa

Le formule possono comportarsi in modo diverso per i controlli all'interno di un altro controllo. Ad esempio, i controlli all'interno di una raccolta possono usare ThisItem , ma i controlli all'esterno della raccolta non possono. I controlli all'esterno di una raccolta o di un componente non possono fare riferimento ai controlli all'interno.

Questa diversa visibilità degli identificatori è denominata ambito. I controlli che contengono altri controlli introducono un nuovo ambito.

Se una formula non funziona all'interno di un controllo indipendente, potrebbe essere correlata all'ambito. Provare a usare la stessa formula all'esterno del contenitore.

Ad esempio, un controllo Label all'interno di una raccolta deve mostrare il nome di ogni record, ma non viene visualizzato alcun testo. Label.Text è impostato su ThisItem.Name. Gallery.Items è impostato su Products.

Una raccolta mostra uno spazio vuoto anziché un testo. Il pannello delle proprietà mostra le formule usate per le etichette nella raccolta.

Per verificare se si tratta di un problema di ambito, inserire un'etichetta di debug all'esterno della raccolta, al livello superiore dell'app. Impostare la relativa proprietà Text per visualizzare il nome del primo record del set di dati: First(Products).Name.

L'etichetta di debug deve avere lo stesso risultato della prima riga della raccolta. In caso contrario, è probabile che sia un bug di ambito con Power Apps che è possibile segnalare tramite una richiesta di supporto. D'altra parte, se entrambi sono vuoti, il problema potrebbe riguardare l'origine dati.

Alcune possibili soluzioni alternative per i problemi di ambito:

Ripristinare una versione precedente

Se non sono state apportate modifiche importanti a un'app e ha improvvisamente smesso di funzionare dopo la ripubblicazione, provare a ripristinarla nella versione precedente. Se funziona di nuovo, esaminare le modifiche apportate per vedere cosa potrebbe aver danneggiato l'app.

In alcuni casi, è possibile che vengano introdotti bug con le nuove versioni di Power Apps. Al contrario, le nuove versioni possono comportare correzioni di bug. supporto tecnico Microsoft è consigliabile ripristinare una versione di creazione precedente o eseguire l'aggiornamento a una versione più recente. Tenere presente che è disponibile un supporto limitato per le versioni non consigliate se si modifica la versione di creazione autonomamente.

Creare un'app di riproduzione minima

Il processo di creazione di un'app di riproduzione minima può rivelare errori di configurazione dell'app che non sono ovvi con un'app complessa. Anche se il problema non è risolto, si sarebbe ridotta la causa e reso più facile spiegare il problema ad altri.

Passaggi successivi

Debug di app canvas con Monitoraggio

Vedere anche

Strategie generali di debug di Power Apps