Delen via


Problemen isoleren in canvas-apps

Met canvas-apps kunt u apps ontwerpen met tal van verschillende visuals en verschillende gegevensverbindingen. Gebruik IntelliSense en de app-controle als bescherming tegen veelvoorkomende problemen. Monitor en het deelvenster Variabelen kunnen u helpen bij het opsporen van fouten.

Hier volgen enkele andere technieken om problemen in een canvas-app te isoleren.

Formules met foutopsporingslabels controleren

Formules kunnen complex zijn. Als er iets misgaat, kan het lastig zijn om vast te stellen welk onderdeel is mislukt. Foutopsporingslabels zijn een handige techniek om de resultaten van verschillende onderdelen van een formule te bekijken.

Een label voor foutopsporing is een label waarvan de eigenschap Tekst is ingesteld op een interessante formule. Hiermee kunt u precies zien hoe Power Apps deze formules behandelt. Als u bereikfouten wilt voorkomen, voegt u het foutopsporingslabel in buiten andere besturingselementen, zoals Galerie en Formulier.

Stel dat een besturingselement keuzelijst met invoervak minder wordt weergegeven dan verwacht en dat de vervolgkeuzelijsten leeg zijn.

Uitgevouwen keuzelijst met invoervak, met een lege ruimte waarin de opties zich in de vervolgkeuzelijst moeten bevinden.

Controleer of de keuzelijst met invoervak juist is geconfigureerd. De eigenschap Items is bijvoorbeeld ingesteld op een complexe formule hieronder:

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

Begin met de binnenste expressie Filter( Products, Rating > 4 ). Voeg een foutopsporingslabel in en stel de teksteigenschap in om het resultaat van die expressie te testen. Enkele nuttige informatie om te controleren:

  • Controleer of het aantal resultaten is zoals verwacht: CountRows( Filter( Products, Rating > 4 ) )
  • Bekijk het eerste resultaat en controleer of het filter werkt zoals verwacht: "Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
  • Controleer de resultaten door hun namen te combineren: Concat( Filter( Products, Rating > 4 ), ProductName & ", ")

Tip

Bij het werken met gegevenssets zijn foutopsporingstabellen handig voor het bekijken van records. Het concept is vergelijkbaar met foutopsporingslabels. Voeg een gegevenstabel in met de eigenschap Items die is ingesteld op de gewenste gegevensset.

U kunt de functies FirstN en LastN gebruiken voor betere prestaties met gegevenssets.

Zodra u hebt bevestigd dat een expressie correct is geëvalueerd, kunt u verdergaan met de volgende buitenste expressie GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" ). Door methodisch door te gaan, kunt u erachter komen welk deel van een complexe expressie niet werkt.

Wanneer u lege vervolgkeuzelijstsopties gebruikt, begint u met de eigenschap DisplayFields . Stel dat het is ingesteld op [ProductType]. Gebruik een foutopsporingslabel om te controleren of dit veld wordt herkend door Power Apps en tekst bevat. Omdat alle vervolgkeuzelijsten leeg zijn, is het voldoende om een record te onderzoeken. Laten we de eerste record kiezen en zien wat het ProductType veld is. Stel het foutopsporingslabel in op:

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

Als het resultaat leeg is, kan het volgende zijn:

  • Het ProductType veld voor die record is echt leeg. Als de gegevensset afkomstig is van buiten de app, controleert u deze buiten Power Apps.
  • Een of meer expressies werken niet. Uitsplitsen zoals hierboven beschreven om deze te verfijnen. Het kan een Power Apps-fout of een fout zijn bij het schrijven van de formule.
  • Gegevens bereiken Power Apps niet. Dit kan een netwerkprobleem zijn, een probleem met de gegevensbron of een Power Apps-fout.

Als het resultaat tekst bevat, is het waarschijnlijk een Power Apps-fout met het besturingselement. U kunt de fout rapporteren via een ondersteuningsaanvraag en een ander besturingselement gebruiken als tijdelijke oplossing.

Een ander besturingselement proberen

Als u wilt achterhalen of het probleem met een specifiek besturingselement is, gebruikt u een ander besturingselement met hetzelfde gegevenstype invoer of uitvoer.

Booleaans

Keuze en tabel

Datum en datum/tijd

Afbeelding en media

Aantal

Sms verzenden

Alle types

  • Label, na het converteren van een waarde naar tekst

Als hetzelfde probleem optreedt in een ander besturingselement, is het probleem met de formules of gegevensbron die worden gebruikt. Ga verder met de bovenstaande stappen voor foutopsporing om het probleem verder te isoleren.

Als het probleem zich alleen voordoet bij een bepaald type besturingselement, is het waarschijnlijk een controlefout. U kunt de fout melden bij Microsoft.

Een andere app-structuur proberen

Formules kunnen zich anders gedragen voor besturingselementen in een ander besturingselement. Besturingselementen in een galerie kunnen bijvoorbeeld ThisItem gebruiken, maar besturingselementen buiten de galerie kunnen dat niet. Besturingselementen buiten een galerie of onderdeel kunnen niet verwijzen naar de besturingselementen binnen.

Deze andere zichtbaarheid van id's wordt bereik genoemd. Besturingselementen die andere besturingselementen bevatten, introduceren een nieuw bereik.

Als een formule niet in een ingesloten besturingselement werkt, kan dit betrekking hebben op bereik. Gebruik dezelfde formule buiten de container.

Een label besturingselement in een galerie moet bijvoorbeeld de naam van elke record weergeven, maar er wordt geen tekst weergegeven. Label.Text is ingesteld op ThisItem.Name. Gallery.Items is ingesteld op Products.

Een galerie toont een lege ruimte in plaats van tekst. In het eigenschappenvenster ziet u de formules die worden gebruikt voor de labels in de galerie.

Als u wilt controleren of dit een bereikprobleem is, voegt u een foutopsporingslabel in buiten de galerie op het hoogste niveau van de app. Stel de eigenschap Text in om de naam van de eerste record van de gegevensset weer te geven: First(Products).Name.

Het label voor foutopsporing moet hetzelfde resultaat hebben als de eerste rij van de galerie. Zo niet, dan is het waarschijnlijk een verkennende fout met Power Apps die u via een ondersteuningsaanvraag kunt rapporteren. Aan de andere kant, als beide leeg zijn, kan het probleem bij de gegevensbron zijn.

Enkele mogelijke tijdelijke oplossingen voor bereikproblemen:

Herstellen naar een eerdere versie

Als u geen belangrijke wijzigingen hebt aangebracht in een app en deze plotseling niet meer werkt nadat u deze opnieuw hebt gepubliceerd, probeert u deze te herstellen naar de vorige versie. Als dit opnieuw werkt, bekijkt u de wijzigingen die zijn aangebracht om te zien wat de app mogelijk heeft verbroken.

Soms worden er fouten geïntroduceerd met nieuwe versies van Power Apps. Omgekeerd kunnen nieuwe versies oplossingen voor fouten opleveren. Microsoft Ondersteuning kunt u aanbevelen of u moet terugkeren naar een oudere ontwerpversie of een upgrade naar een nieuwere versie moet uitvoeren. Houd er rekening mee dat er beperkte ondersteuning is voor niet-aanbevolen versies als u de ontwerpversie zelf wijzigt.

Een minimale repro-app maken

Het proces voor het maken van een minimale repro-app kan app-configuratiefouten ontdekken die niet duidelijk zijn bij een complexe app. Zelfs als het probleem niet is opgelost, zou u de oorzaak hebben verkleind en het probleem gemakkelijker aan anderen uitleggen.

Volgende stappen

Fouten in canvas-apps opsporen met Monitor

Zie ook

Algemene strategieën voor foutopsporing in Power Apps