
Répondre à: Document PDF vide
Estelle est-ce que tu peux nous décrire plus précisément l’architecture de ta solution ? Ce que j’ai compris jusque là :
Sur un écran tu as un formulaire SharePoint où l’utilisateur fait son évaluation
Une fois qu’il a terminé il clique sur un bouton SUBMIT ce qui soumet le formulaire et crée donc la ligne correspondante dans ta liste SP
A la suite de quoi il arrive sur un autre écran où tu lui affiches son évaluation au format HTML (où tu utilises donc les données de l’évaluation créée précédemment)
Questions :
Est-ce que la génération du PDF est déclenchée par l’apparition de la nouvelle ligne dans la liste SP ou par le clic d’un bouton sur l’écran avec l’HTML ?
Lors de la génération du PDF (si elle déclenchée par un bouton sur ton écran) est-ce que tu transmets l’HTML de l’écran au flux Power Automate ?
Par rapport à tes questions :
La bonne pratique veut que l’on ne mette pas de code après un Navigate(). En effet, Power Apps n’attends pas la fin de l’exécution de ton bouton SUBMIT pour naviguer : il voit le Navigate() -> il navigue. Et du coup le code qui avait derrière s’exécute alors que tu n’es même plus sur l’écran où se trouve le bouton. Tu me suis ?
Autre bonne pratique : lorsque sur un écran où il y a un formulaire on veut naviguer vers un autre écran une fois que les données ont été correctement traitée, alors le Navigate() doit être placé dans l’événement OnSuccess du formulaire -> c’est lui qui garanti que tes données ont été correctement créées/mises à jour.
Il faut voir dans sa tête l’enchaînement des événements qui vont se produire quand tu fais une action :
Je clique sur SUBMIT
Cela déclenche le SubmitForm() -> le système effectue l’opération sur la source de données -> on ne met pas de code non plus après un SubmitForm() puisqu’on ne sait pas encore si ça va bien se passer ou pas.
Une fois que le système a réalisé l’opération sur la source de données, il y a 2 résultats possibles :
Ca s’est mal passé -> c’est l’événement OnFailure du formulaire qui est déclenché
C’est là qu’en général on affiche un message d’erreur et du coup on ne quitte pas l’écran on reste dessus pour donner une chance à l’utilisateur de retenter
Ca s’est bien passé -> c’est l’événement OnSuccess du formulaire qui est déclenché -> la propriété
MonFormulaire.LastSubmit
contient l’enregistrement complet qui vient d’être créé ou modifiéC’est là qu’on affiche un message de succès et qu’on navigue
C’est là aussi qu’on peut éventuellement faire une autre opération (avec un Patch() par ex.) sur une autre source de données qui est dépendante de la première
etc.
Tu vois l’idée ?
CommentID=2zsNgluPNgOUIJ7, PostID=7GdImoaDXz8V0Lo