Isolera problem i modelldrivna appar
Modelldrivna appar drivs av konfiguration. Du kan ge instruktioner på hög nivå för att generera en app. Du kan också introducera anpassade komponenter som påverkar flera delar av appen. När en app inte fungerar som förväntat kanske det inte är uppenbart om det är ett anpassningsfel eller en bugg i Power Apps-systemet.
Här följer några tekniker för att isolera problem i en modelldriven app.
Ta bort anpassningar
Följande funktioner kan påverka normal drift. Försök att inaktivera eller ta bort dem och kontrollera om problemet kvarstår. Läs mer om att hitta och inaktivera anpassningar i formulär.
Affärsregler
Påverkar: Formulärsidor
Affärsregler ändrar ett formulärs beteende baserat på tillståndet för en post. Prova att inaktivera eller förenkla regeln och kontrollera om formuläret fortfarande fungerar som förväntat.
Klientskript
Påverkar: Formulärsidor
Klientskript innehåller JavaScript-kod som kan vara i konflikt med Power Apps-systemet eller ändra det på oväntade sätt. Om du inaktiverar skriptet löser problemet bör du isolera vilken del av det anpassade skriptet som orsakar problemet.
Du kan tillfälligt inaktivera alla anpassade skript genom att lägga till detta på sidans URL:
&flags=DisableFormLibraries=true,DisableWebResourceControls=true
Anpassade kommandon
Påverkar: Formulärsidor, Tabellbaserade vysidor
Om ett problem uppstår när du har valt ett kommando i kommandofältet kontrollerar du om det är ett anpassat kommando. Anpassade kommandon kan innehålla JavaScript-kod som orsakar oväntat beteende. Moderna kommandon kan ha anpassade åtgärder definierade med Power Fx. I båda fallen kan du prova att förenkla kommandot för att ta reda på om det finns ett fel i hur det anpassade kommandot definieras.
Anpassade kontroller
Påverkar: Formulärsidor, Tabellbaserade vysidor, Anpassade sidor
Du kan ersätta kontroller på formulärsidor eller ersätta rutnätskontrollen som används på tabellbaserade visningssidor med Power Apps-komponenter. Dessa kontroller är anpassade kontroller med JavaScript- och CSS-kod som kan påverka andra delar av sidan. Prova att växla till en out-of-the-box-kontroll för att se om den anpassade kontrollen är problemet.
Server-plugin-program och -processer
Påverkar: Alla sidor
Administratörer kan installera plugin-program och skapa processer som ändrar en apps affärslogik. Kontakta administratören om det finns några relevanta anpassningar på serversidan.
Jämför med färdiga konfigurationer
För att avgöra om något är ett konfigurationsfel kan det vara användbart att kontrollera andra delar av appen.
Uppstår till exempel problemet med en annan:
- Tabell (entitet)
- Visa
- App med samma tabell
- Formulär för samma tabell
- Kontroll som refererar till samma kolumn (attribut)
Helst kan du jämföra med en out-of-the-box som inte har anpassats. Om problemet till exempel gäller en tabell (entitet) som du skapade markerar du en out-of-the-box-tabell.
Om problemet inte inträffar någon annanstans kan du jämföra skillnaderna med hur de konfigureras. Tabellrelationer och behörigheter kanske har konfigurerats på olika sätt. Eller så är en tabell inte aktiverad för Enhetligt gränssnitt.
Återskapa objekt
När du skapar ett objekt från grunden kan du inte bara undersöka och jämföra standardkonfigurationer, det kan också åtgärda skadade konfigurationer.
Om något av följande inte fungerar kan du försöka återskapa dem. Det kan vara en förenklad version för att begränsa vilken del som inte fungerar.
- Anpassad tabell (entitet)
- Visa
- Formulär
- Anpassat skript
Se till att alla nödvändiga komponenter läggs till i en app
Modelldrivna appkomponenter inkluderar tabeller och deras relaterade tabeller, formulär, kolumner, vyer, diagram, instrumentpaneler och affärsprocessflöden. Av prestandaskäl laddas endast komponenter som läggs till i en app ned.
Om en komponent inte visas eller fungerar inkonsekvent kontrollerar du om den läggs till i appen. Om teams-tabellen till exempel inte visas i ett formulärs uppslagskontroll, men andra tabeller gör det, kanske Teams-tabellen inte har lagts till i appen.
Du kan lägga till följande komponenter i en app med hjälp av den moderna appdesignern.
- Tabeller och relaterade tabeller: skapa en Dataverse-tabellsida
- Formulär: lägga till formulär i en app
- Kolumner (formulärfält): Lägg till kolumner i ett formulär
- Vyer och diagram: hantera vyer och diagram på en Dataverse-tabellsida
- Instrumentpaneler: skapa en instrumentpanelssida
- Affärsprocessflöden: lägga till ett affärsprocessflöde i fönstret Automation
Du kan också lägga till dessa komponenter med hjälp av den klassiska appdesignern.
För att tabeller ska kunna användas offline måste de läggas till i en offlineprofil. Mer information finns i riktlinjer för mobil offline.
Ta reda på om problemet uppstår när du hämtar data eller visar data
När data inte visas korrekt i en app kan det antingen vara ett serverproblem med att tillhandahålla data eller ett appproblem vid bearbetning och visning av dem. För att begränsa orsaken kan du prova allmänna metoder för att isolera det problematiska lagret.
Modelldrivna appar har ett komplext dataflöde. Här är mer avancerade saker att prova.
- Granska FetchXML för nätverksbegäranden och kontrollera om appen gör rätt nätverksbegäranden och tar emot data korrekt från servern. Du kan använda Övervaka för att visa nätverksbegäranden.
- Om appen har en offlineprofil kan du prova att ta bort användaren från profilen eller profilen helt. Även när det finns en Internetanslutning skiljer sig dataflödet för appar som kan arbeta offline.
- Sök efter behörighetsproblem genom att prova en annan användare eller tabell.
Förenkla anpassade skript
Anpassade skript är en avancerad funktion för utvecklare. De kan användas i formulär, anpassade kommandon, Power Apps-komponenter och webbresurser på webbsidor (HTML). Det finns en enorm flexibilitet i vad skript kan göra, men det finns också en stor chans att de av misstag kan bryta systemet.
Om du misstänker att ett skript orsakar ett problem följer du dessa steg:
Inaktivera alla anpassade skript och se om problemet fortfarande inträffar.
Om den inte gör det aktiverar du skript en i taget för att se vilken som orsakar problemet.
När skripten har hittats som orsakar problemet tar du bort irrelevant kod från dem. Om till exempel bara ett fält har ett problem tar du bort kod som interagerar med andra formulärfält.
Genom att gradvis förenkla skriptet bör du kunna avgöra om problemet orsakas av anpassad kod eller felaktigt beteende för klient-API-funktioner .
Om felet kommer från anpassad kod kontaktar du utvecklaren som skrev skriptet för att få hjälp.
Om en klient-API-funktion inte fungerar som dokumenterad kan du rapportera den till Microsoft. Bifoga en kopia av det förenklade skriptet och ange vilken API-funktion som inte fungerar.
Skapa en vanilj-repro-app
Processen med att skapa en vaniljreproapp kan avslöja konfigurationsfel som inte är uppenbara i en miljö med många anpassningar. Ä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 kommandon
- Felsöka formulär
- Felsöka plugin-program
- Felsöka behörighetsproblem med Microsoft Dataverse
- Felsöka modellstyrda appar med Övervaka
- Felsöka modelldrivna appformulär med Monitor