Isolera problem i appar för arbetsytor
Med appar för arbetsytor kan du utforma appar med flera olika visuella objekt och olika dataanslutningar. Använd IntelliSense och appkontrollen som skydd mot vanliga problem. Övervaka och panelen Variabler kan hjälpa dig med felsökning.
Här följer några andra metoder för att isolera problem i en app för arbetsytor.
Granska formler med felsökningsetiketter
Formler kan vara komplexa. När saker går fel kan det vara svårt att fastställa vilken del som misslyckades. Felsökningsetiketter är en användbar teknik för att se resultatet av olika delar av en formel.
En felsökningsetikett är en Etikett med egenskapen Text inställd på en formel av intresse. Med den kan du se exakt hur Power Apps hanterar dessa formler. Om du vill undvika omfångsfel infogar du felsökningsetiketten utanför andra kontroller, till exempel Galleri och Formulär.
Tänk dig att en kombinationsrutekontroll visar mindre än förväntat och att listrutealternativen är tomma.
Kontrollera om kombinationsrutan är korrekt konfigurerad. Egenskapen Items är till exempel inställd på en komplex formel nedan:
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
Börja med det innersta uttrycket Filter( Products, Rating > 4 )
. Infoga en felsökningsetikett och ange egenskapen Text för att testa resultatet av uttrycket. Viss användbar information att verifiera:
- Kontrollera om antalet resultat är som förväntat:
CountRows( Filter( Products, Rating > 4 ) )
- Granska det första resultatet och kontrollera att filtret fungerar som förväntat:
"Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
- Kontrollera resultaten genom att kombinera deras namn:
Concat( Filter( Products, Rating > 4 ), ProductName & ", ")
Tips
När du arbetar med datauppsättningar är felsökningstabeller användbara för att förhandsgranska poster. Konceptet liknar felsökningsetiketter. Infoga en datatabell med egenskapen Items inställd på den datauppsättning som är av intresse.
Du kanske vill använda funktionerna FirstN och LastN för bättre prestanda med datauppsättningar.
När du har bekräftat att ett uttryck utvärderas korrekt kan du gå vidare till nästa yttre uttryck GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )
. Genom att fortsätta metodiskt kan du ta reda på vilken del av ett komplext uttryck som inte fungerar.
När du använder tomma listrutealternativ börjar du med egenskapen DisplayFields . Anta att den är inställd på [ProductType]
. Använd en felsökningsetikett för att kontrollera att det här fältet känns igen av Power Apps och innehåller text. Eftersom alla listrutealternativ är tomma räcker det att granska alla poster. Nu ska vi välja den första posten och se vad dess ProductType
fält är. Ange felsökningsetiketten till:
First(
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
).ProductType
Om resultatet är tomt kan det vara:
- Fältet
ProductType
för posten är verkligen tomt. Om datauppsättningen kommer utanför appen kontrollerar du den utanför Power Apps. - Ett eller flera av uttrycken fungerar inte. Bryt ned den enligt beskrivningen ovan för att begränsa. Det kan vara en Power Apps-bugg eller ett misstag när du skriver formeln.
- Data når inte Power Apps. Det kan vara ett nätverksproblem, ett problem med datakällan eller en Power Apps-bugg.
Om resultatet innehåller text är det troligtvis ett Power Apps-fel med kontrollen. Du kan rapportera felet via en supportbegäran och använda en annan kontroll som en lösning.
Prova en annan kontroll
Om du vill ta reda på om problemet gäller en viss kontroll kan du prova att använda en annan kontroll som har samma datatyp för indata eller utdata.
Boolesk
Val och tabell
Datum och DateTime
Bild och media
- HTML-text
- Bild
- Bildegenskap för ljud, video och mikrofon
Tal
Text
Alla typer
- Etikett efter konvertering av ett värde till text
Om samma problem inträffar på en annan kontroll gäller problemet de formler eller den datakälla som används. Fortsätt med felsökningsstegen ovan för att ytterligare isolera problemet.
Om problemet bara inträffar för en viss typ av kontroll är det troligtvis ett kontrollfel. Du kan rapportera buggen till Microsoft.
Prova en annan appstruktur
Formler kan bete sig annorlunda för kontroller i en annan kontroll. Kontroller i ett galleri kan till exempel använda ThisItem , men kontroller utanför galleriet kan inte göra det. Kontroller utanför ett galleri eller en komponent kan inte referera till kontrollerna inuti.
Den här annorlunda synligheten för identifierare kallas omfång. Kontroller som innehåller andra kontroller inför ett nytt omfång.
- Komponent
- Behållare
- Visningsformulär
- Redigera formulär
- Galleri
- Vågrät container
- Rullningsbar skärm (vätskerutnät)
- Lodrät container
Om en formel inte fungerar i en innesluten kontroll kan den vara relaterad till omfång. Prova att använda samma formel utanför containern.
En etikettkontroll i ett galleri bör till exempel visa varje posts namn, men ingen text visas.
Label.Text är inställt på ThisItem.Name
.
Gallery.Items är inställt på Products
.
Om du vill kontrollera om det är ett omfångsproblem infogar du en felsökningsetikett utanför galleriet på appens översta nivå. Ange egenskapen Text för att visa namnet på den första posten i datauppsättningen: First(Products).Name
.
Felsökningsetiketten bör ha samma resultat som den första raden i galleriet. Annars är det troligtvis ett omfångsfel med Power Apps som du kan rapportera via en supportbegäran. Om båda är tomma kan problemet å andra sidan bero på datakällan.
Några möjliga lösningar på omfångsproblem:
- Flytta kontroller utanför containrarna
- Referera till data i globala variabler eller kontextvariabler
- Använd Korrigering för att undvika att använda en redigeringsformulärkontroll
Återställa till en tidigare version
Om du inte har gjort större ändringar i en app och den plötsligt slutade fungera efter att den har publicerats på nytt kan du prova att återställa den till den tidigare versionen. Om det fungerar igen undersöker du de ändringar som gjorts för att se vad som kan ha brutit appen.
Ibland kan buggar introduceras med nya versioner av Power Apps. På motsvarande sätt kan nya versioner medföra felkorrigeringar. Microsoft Support kan rekommendera om du ska återgå till en äldre redigeringsversion eller uppgradera till en nyare version. Kom ihåg att det finns begränsat stöd för icke-rekommenderade versioner om du ändrar redigeringsversionen på egen hand.
Skapa en minimal återskapningsapp
Processen med att skapa en minimal återgivningsapp kan avslöja appkonfigurationsfel som inte är uppenbara med en komplex app. Även om problemet inte är åtgärdat skulle du ha minskat orsaken och gjort det lättare att förklara problemet för andra.
Nästa steg
Felsöka appar för arbetsytor med Monitor