Partager via


Isoler les problèmes dans les applications de canevas

Les applications canevas vous permettent de concevoir des applications avec de nombreux visuels différents et diverses connexions de données. Utilisez IntelliSense et le vérificateur d’application comme protection contre les problèmes courants. Surveiller et le panneau Variables peut vous aider à déboguer.

Voici quelques autres techniques permettant d’isoler les problèmes dans une application canevas.

Inspecter les formules avec des étiquettes de débogage

Les formules peuvent être complexes. Lorsque les choses se passent mal, il peut être difficile d’identifier la partie ayant échoué. Les étiquettes de débogage sont une technique utile pour voir les résultats de différentes parties d’une formule.

Une étiquette de débogage est une étiquette avec sa propriété Text définie sur une formule d’intérêt. Il vous permet de voir exactement comment Power Apps traite ces formules. Pour éviter les bogues d’étendue, insérez l’étiquette de débogage en dehors d’autres contrôles tels que Gallery et Form.

Imaginez qu’un contrôle de zone de liste déroulante affiche moins que prévu et que les options de liste déroulante sont vides.

Zone de liste déroulante développée, affichant un espace vide où les options doivent se trouver dans la liste déroulante.

Vérifiez si la zone de liste déroulante est configurée correctement. Par exemple, la propriété Items est définie sur une formule complexe ci-dessous :

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

Commencez par l’expression Filter( Products, Rating > 4 )la plus interne. Insérez une étiquette de débogage et définissez sa propriété Text pour tester le résultat de cette expression. Quelques informations utiles pour vérifier :

  • Vérifiez si le nombre de résultats est comme prévu : CountRows( Filter( Products, Rating > 4 ) )
  • Examinez le premier résultat et vérifiez que le filtre fonctionne comme prévu : "Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
  • Vérifiez les résultats en combinant leurs noms : Concat( Filter( Products, Rating > 4 ), ProductName & ", ")

Conseil

Lorsque vous utilisez des jeux de données, les tables de débogage sont utiles pour afficher un aperçu des enregistrements. Le concept est similaire aux étiquettes de débogage. Insérez une table de données avec sa propriété Items définie sur le jeu de données d’intérêt.

Vous pouvez utiliser les fonctions FirstN et LastN pour améliorer les performances avec les jeux de données.

Une fois que vous avez confirmé qu’une expression est évaluée correctement, vous pouvez passer à l’expression GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )externe suivante. En procédant de façon méthodique, vous pouvez déterminer quelle partie d’une expression complexe ne fonctionne pas.

Lorsque vous utilisez des options de liste déroulante vides, commencez par la propriété DisplayFields . Imaginez qu’il est défini sur [ProductType]. Utilisez une étiquette de débogage pour vérifier que ce champ est reconnu par Power Apps et contient du texte. Étant donné que toutes les options de liste déroulante sont vides, il suffit d’examiner n’importe quel enregistrement. Nous allons choisir le premier enregistrement et voir ce que son ProductType champ est. Définissez l’étiquette de débogage sur :

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

Si le résultat est vide, il peut s’agir des éléments suivants :

  • Le ProductType champ de cet enregistrement est vraiment vide. Si le jeu de données provient de l’extérieur de l’application, vérifiez-le en dehors de Power Apps.
  • Une ou plusieurs des expressions ne fonctionnent pas. Décomposez-le comme décrit ci-dessus pour affiner. Il peut s’agir d’un bogue Power Apps ou d’une erreur lors de l’écriture de la formule.
  • Les données n’atteignent pas Power Apps. Il peut s’agir d’un problème réseau, d’un problème avec la source de données ou d’un bogue Power Apps.

Si le résultat a du texte, il est probable qu’il s’agit d’un bogue Power Apps avec le contrôle. Vous pouvez signaler le bogue via une demande de support et utiliser un autre contrôle comme solution de contournement.

Essayer un autre contrôle

Pour déterminer si le problème est lié à un contrôle spécifique, essayez d’utiliser un autre contrôle qui a le même type de données d’entrée ou de sortie.

Booléen

Choix et table

Date et DateTime

Image et média

Nombre

Text

Tous les types

  • Étiquette, après la conversion d’une valeur en texte

Si le même problème se produit sur un autre contrôle, le problème est lié aux formules ou à la source de données utilisée. Passez aux étapes de débogage ci-dessus pour isoler davantage le problème.

Si le problème se produit uniquement sur un type de contrôle particulier, il est probable qu’il s’agit d’un bogue de contrôle. Vous pouvez signaler le bogue à Microsoft.

Essayer une autre structure d’application

Les formules peuvent se comporter différemment pour les contrôles à l’intérieur d’un autre contrôle. Par exemple, les contrôles à l’intérieur d’une galerie peuvent utiliser ThisItem , mais les contrôles en dehors de la galerie ne peuvent pas. Les contrôles en dehors d’une galerie ou d’un composant ne peuvent pas référencer les contrôles à l’intérieur.

Cette visibilité différente des identificateurs est appelée étendue. Les contrôles qui contiennent d’autres contrôles introduisent une nouvelle étendue.

Si une formule ne fonctionne pas à l’intérieur d’un contrôle autonome, elle peut être liée à l’étendue. Essayez d’utiliser la même formule en dehors du conteneur.

Par exemple, un contrôle Label à l’intérieur d’une galerie doit afficher le nom de chaque enregistrement, mais aucun texte n’apparaît. Label.Text est défini sur ThisItem.Name. Gallery.Items est défini sur Products.

Une galerie affiche un espace vide au lieu du texte. Le panneau de propriétés affiche les formules utilisées pour les étiquettes de la galerie.

Pour vérifier s’il s’agit d’un problème d’étendue, insérez une étiquette de débogage en dehors de la galerie, au niveau supérieur de l’application. Définissez sa propriété Text pour afficher le nom du premier enregistrement du jeu de données : First(Products).Name.

L’étiquette de débogage doit avoir le même résultat que la première ligne de la galerie. Si ce n’est pas le cas, il est probable qu’il s’agit d’un bogue d’étendue avec Power Apps que vous pouvez signaler via une demande de support. En revanche, si les deux sont vides, le problème peut être lié à la source de données.

Certaines solutions de contournement possibles pour les problèmes d’étendue :

Restaurer vers une version antérieure

Si vous n’avez pas apporté de modifications majeures à une application et qu’elle a soudainement cessé de fonctionner après la republier, essayez de la restaurer vers la version précédente. Si elle fonctionne à nouveau, examinez les modifications apportées pour voir ce qui pourrait avoir rompu l’application.

Parfois, les bogues peuvent être introduits avec de nouvelles versions de Power Apps. À l’inverse, de nouvelles versions peuvent apporter des correctifs de bogues. Support Microsoft pouvez recommander si vous devez revenir à une version de création antérieure ou effectuer une mise à niveau vers une version plus récente. N’oubliez pas qu’il existe une prise en charge limitée des versions non recommandées si vous modifiez la version de création par vous-même.

Créer une application de reproduction minimale

Le processus de création d’une application de reproduction minimale peut détecter des erreurs de configuration d’application qui ne sont pas évidentes avec une application complexe. Même si le problème n’est pas résolu, vous auriez réduit la cause et facilité l’explication du problème à d’autres personnes.

Prochaines étapes

Débogage d’applications canevas avec Monitor

Voir aussi

Stratégies de débogage Power Apps générales