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 contro i 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 storte, può essere difficile individuare quale parte non è riuscita. Le etichette di debug sono una tecnica utile per visualizzare i risultati di parti diverse 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 Gallery e Form.
Si supponga che un controllo Casella combinata mostri meno del previsto e che le opzioni a discesa siano vuote.
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 da verificare:
- 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 & ", ")
Suggerimento
Quando si utilizzano set di dati, le tabelle di debug sono utili per l'anteprima dei record. Il concetto è simile alle etichette di debug. Inserire una tabella Data con la relativa proprietà Items impostata sul set di dati di interesse.
È possibile usare le funzioni FirstN e LastN per ottenere prestazioni migliori con i set di dati.
Dopo aver verificato 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. Selezionare il primo record e vedere 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 il record è effettivamente 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 nella scrittura della formula.
- I dati non raggiungono Power Apps. Potrebbe trattarsi di un problema di rete, di un problema con l'origine dati o di 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 verificare se il problema riguarda un controllo specifico, provare a usare un controllo diverso con lo stesso tipo di dati di input o output.
Boolean
Scelta e tabella
Date e DateTime
Immagini e supporti
- Testo HTML
- Image
- Proprietà Image di Audio, Video e Microfono
Numero
Testo
Tutti i tipi
- Etichetta, dopo la conversione di un valore in testo
Se lo stesso problema si verifica su 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 in 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.
- Componente
- Contenitore
- Modulo visualizzazione
- Modulo di modifica
- Gallery
- Contenitore orizzontale
- Schermo scorrevole (Griglia fluida)
- Contenitore verticale
Se una formula non funziona all'interno di un controllo contenuto, potrebbe essere correlata all'ambito. Provare a usare la stessa formula all'esterno del contenitore.
Ad esempio, un controllo Etichetta all'interno di una raccolta deve visualizzare il nome di ogni record, ma non viene visualizzato alcun testo. Label.Text è impostato su ThisItem.Name
. Gallery.Items è impostato su Products
.
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 si tratti di 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 essere con l'origine dati.
Alcune possibili soluzioni alternative per i problemi di definizione dell'ambito:
- Spostare i controlli all'esterno dei contenitori
- Fare riferimento ai dati nelle variabili globali o di contesto
- Usare Patch per evitare l'uso di un controllo Modulo di modifica
Ripristinare una versione precedente
Se non hai apportato modifiche importanti a un'app e improvvisamente smette di funzionare dopo la ripubblicazione, prova a ripristinarlo nella versione precedente. Se funziona di nuovo, esaminare le modifiche apportate per vedere cosa potrebbe aver interrotto l'app.
In alcuni casi, i bug possono essere introdotti con nuove versioni di Power Apps. Viceversa, le nuove versioni possono portare correzioni di bug. supporto tecnico Microsoft può consigliare se 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ò individuare errori di configurazione delle app che non sono evidenti con un'app complessa. Anche se il problema non è stato risolto, si sarebbe ristretta la causa e reso più semplice spiegare il problema ad altri.
Passaggi successivi
Esecuzione del debug delle app canvas con Monitoraggio