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. Monitor et le panneau Variables peuvent vous aider à déboguer.

Voici d’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. En cas de problème, il peut être difficile de déterminer quelle partie a échoué. Les étiquettes de débogage sont une technique utile pour voir les résultats des différentes parties d’une formule.

Une étiquette de débogage est une étiquette avec sa propriété Text définie sur une formule intéressante. 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 Galerie et Formulaire.

Imaginez qu’un contrôle 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, montrant un espace vide où les options doivent figurer dans la liste déroulante.

Vérifiez si la zone de liste déroulante est correctement configurée. 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 à 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 qui vous intéresse.

Vous pouvez utiliser les fonctions FirstN et LastN pour de meilleures 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 méthodiquement, 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 quel est son ProductType champ. 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 être :

  • Le ProductType champ de cet enregistrement est vraiment vide. Si le jeu de données provient de l’extérieur de l’application, case activée-le en dehors de Power Apps.
  • Une ou plusieurs 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 contient du texte, il s’agit probablement 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 savoir si le problème concerne 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.

Boolean

Choix et table

Date et DateTime

Image et média

Nombre

Texte

Tous les types

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

Si le même problème se produit sur un contrôle différent, le problème concerne les formules ou la source de données utilisées. Poursuivez les étapes de débogage ci-dessus pour isoler davantage le problème.

Si le problème se produit uniquement sur un type particulier de contrôle, il s’agit probablement 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 pas les contrôles en dehors de la galerie. 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 a la valeur ThisItem.Name. Gallery.Items a la valeur 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 dans la galerie.

Pour case activée 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 s’agit probablement 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.

Voici quelques 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 sa republiation, essayez de la restaurer à la version précédente. Si cela fonctionne à nouveau, examinez les modifications apportées pour voir ce qui a peut-être endommagé l’application.

Parfois, des bogues peuvent être introduits avec les nouvelles versions de Power Apps. À l’inverse, les nouvelles versions peuvent apporter des correctifs de bogues. Support Microsoft pouvez vous recommander de revenir à une version de création plus ancienne ou d’effectuer une mise à niveau vers une version plus récente. N’oubliez pas que la prise en charge des versions non recommandées est limitée 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 révéler 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 aux autres.

Étapes suivantes

Débogage d’applications canevas avec Monitor

Voir aussi

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