Définir le mode New ou Edit d'un formulaire
Étiquetté : Microsoft 365, powerapps
-
Définir le mode New ou Edit d'un formulaire
Posté par Estelle sur 17 février 2023 à 14h46Bonjour,
J’aimerais pouvoir selectionner un personne dans une galerie de noms, et que cette selection fasse en sorte que :
-
un filtre se fasse sur une galerie de formations en fonction du nom sélectionné puis
-
si ce nom n’existe pas dans la galerie (filtre vide), un nouveau formulaire s’ouvre
-
si ce nom existe (il n’y a pas 2 fois le même nom dans la galerie), celui-ci est automatiquement selectionné et un formulaire de modification s’ouvre.
-
Je ne suis pas sûre d’être claire mais si vous avez compris, est-ce possible ?
PostID=6s015rePUPkxa5W
R3dKap a répondu Il y a 11 mois, 3 semaines 1 Membre · 12 Réponses -
-
12 Réponses
-
Estelle j’ai compris globalement mais y’a 2 ou 3 petites choses qui me tracassent…
Il est capital de toujours partir des données : ce sont elles qui “pilotent” l’application.
Je suppose que tu as 2 listes :-
une liste avec les personnes
-
une liste avec les formations et une colonne qui fait le lien avec la liste des personnes
En gros je suppose que tu veux gérer les formations suivies/inscrites par des utilisateurs.
Si c’est le cas, on imagine qu’il y a 2 galeries sur ton écran :
-
une galerie à gauche branchée sur ta liste de personnes
-
une galerie à droite branchée sur ta liste de formations associées aux personnes
Et puis tu as un formulaire pour créer/modifier une nouvelle association formation/personne.
Du coup, je suppose que ton idée c’est, comme tu le décris :
-
je clique sur une personne dans la galerie de gauche
-
du coup ma galerie de droite se filtre automatiquement pour n’afficher que les formations de la personne sélectionnée
-
s’il n’y a aucune formation pour la personne on affiche le formulaire en mode création
-
s’il y a des formations pour la personne et que je clique sur une formation, le formulaire s’affiche en édition
C’est bien ça ?
Le point que je ne comprends pas bien du coup dans ton explication c’est “il n’y a pas 2 fois le même nom dans la galerie“. Est-ce que tu peux expliquer ou corriger mes suppositions ci-dessus ?
CommentID=mmGitJ6GcdDgmEE, PostID=6s015rePUPkxa5W
-
Tu as tout bien compris. La colonne qui fait le lien entre la galerie de droite et la galerie de gauche est le nom de la personne, donc à aucun moment dans la galerie de formations il y a 2 lignes avec le même nom.
Est-ce que ça a du sens ?
SubCommentID=QC6SjyBUUNNjlkc, CommentID=mmGitJ6GcdDgmEE, PostID=6s015rePUPkxa5W
-
-
Ca y est j’ai compris pourquoi j’avais du mal avec la phrase en question : je croyais que le mot “nom” faisait toujours référence à la personne alors qu’il fait référence à la formation. J’ai le cerveau un peu trop câblé 0 ou 1… 😅
Donc, si je reformule : “Après avoir choisi une personne dans la galerie de gauche, je ne peux pas voir 2x la même formation dans la galerie de droite.“. C’est logique 🙂
Alors voici ce que je te propose de faire… Je vais supposer que ce sont des listes SharePoint dont je vais exploiter les colonnes Title et ID.
-
Une galerie à gauche qui s’appelle galPersonnes branchée sur ta liste Personnes
-
Une galerie à droite qui s’appelle galFormationsSuivies branchée sur ta liste Formations_Suivies (qui a une colonne de recherche Personne qui pointe vers la liste Personnes)
-
Sur galPersonnes.Items :
Personnes
-
Sur galFormationsSuivies.Items :
Filter(Formations_Suivies; Personne.Value = galPersonnes.Selected.Title)
(je suppose que ta colonne de recherche Personne pointe vers la colonne Title de la liste Personnes) -
A partir de là, si tu testes, après avoir sélectionné une personne dans la galerie de gauche tu dois voir les formations suivies par cette personne dans la galerie de droite
-
Je vais supposer que tu as un formulaire frmFormationSuivie dans lequel tu peux créer/modifier une formation suivie par une personne
-
Sur galPersonnes.OnSelect :
UpdateContext({locSelectedPersonne: ThisItem; locSelectedFormation: Blank()});; Reset(galFormationsSuivies)
-
Sur galFormationsSuivies.OnSelect :
UpdateContext({locSelectedFormation: ThisItem})
-
Sur frmFormationSuivie.DataSource =
Formations_Suivies
-
Sur frmFormationSuivie.Item =
LookUp(Formations_Suivies; ID = locSelectedFormation.ID)
-
Sur frmFormationSuivie.Visible =
!IsBlank(locSelectedFormation) || (!IsBlank(locSelectedPersonne) && IsEmpty(galFormationsSuivies.AllItems))
-
Sur frmFormationSuivie.DefaultMode =
If(!IsBlank(locSelectedFormation); FormMode.Edit; FormMode.New)
-
Sur frmFormationSuivie.OnSuccess =
UpdateContext({locSelectedFormation: Blank()})
Et c’est un bon début… Ca devrait déjà mettre en place pas mal de choses… 😉
CommentID=ZdYIr9MT9vmBbts, PostID=6s015rePUPkxa5W
-
Bonjour.
Merci. Ça marche bien pour le début, mais ma variable locSelectedFormation reste vide. Mon filtre de formation marche bien, mais c’est comme si l’étape 8 ne marchait pas.
SubCommentID=Ei02LjM5Yyh2rw0, CommentID=ZdYIr9MT9vmBbts, PostID=6s015rePUPkxa5W
-
-
Hello.
Après avoir cliqué sur une formation, regarde le contenu de la variable pour voir ce qu’elle contient. Ensuite, après avoir cliqué sur une formation, analyse bien le frmFormationSuivie.Visible pour voir quelle partie rend le résultat de la formule à false.
D’ailleurs, lorsque tu dis que ça ne marche pas, c’est-à-dire ? Le formulaire ne s’affiche pas lorsque tu cliques sur une formation ? Ou le formulaire ne s’affiche pas lorsque tu choisis une personne qui n’a pas de formation ?
CommentID=Jq5WkALnSuwrxHU, PostID=6s015rePUPkxa5W
-
La variable locSelectedFormation reste vide
!IsBlank(locSelectedFormation) = false
!IsBlank(locSelectedPersonne) = true
IsEmpty(galFormationsSuivies.AllItems)=false
SubCommentID=YxF2dYzfeUAkfHP, CommentID=Jq5WkALnSuwrxHU, PostID=6s015rePUPkxa5W
-
-
Mmm… Là c’est strange… Le genre de cas de figure où Power Apps fait n’importe quoi… Je serais pas étonné que ça se mette en marche demain matin quand t’auras relancé le Studio… 😅
Si c’est toujours pas le cas, contacte-moi sur Teams à partir de 10h30 (je vais te donner mon mail en message privé) et on fera un partage d’écran…
CommentID=sGcPks9rv2So4or, PostID=6s015rePUPkxa5W
-
Hey, j’ai compris ! Je suis désolée j’ai mal lu ton résumé de départ, donc tout fonctionne très bien par rapport à ce que tu avais défini au départ.
Voilà le bout mal compris et que je souhaitais faire, si c’était faisable :
-
s’il n’y a aucune formation pour la personne on affiche le formulaire en mode création
-
s’il y a des formations pour la personne et que je clique sur une formation, le formulaire s’affiche en édition SANS AVOIR À CLIQUER SUR LA FORMATION. Est-ce possible que OnSelect “se selectionne tout seul” ?
Merci
SubCommentID=dnCs5pwaPHfLgRO, CommentID=sGcPks9rv2So4or, PostID=6s015rePUPkxa5W
-
-
-
Ah ok… Alors avant de faire ça, il faut que je comprenne l’objectif à atteindre en termes de fonctionnalités…
Depuis le début j’ai supposé qu’une personne puisse être inscrit à plusieurs formations et que donc il pourrait y avoir plusieurs formations affichées dans la galerie de droite galFormationsSuivies (c’est pas pour rien que j’ai mis des “s” partout 😉). Est-ce vraiment le cas ? Car j’ai l’impression que tu considères qu’il n’y en aura toujours qu’une seule d’affichée pour une personne sélectionnée… Et si c’était le cas pourquoi une galerie pour afficher 1 seule formation ? Aucun intérêt… Tu vois ce que je veux dire ? Il faut d’abord clarifier ce point… N’hésite pas aussi à me mettre une capture de ton écran (en masquant ce qui doit être masqué) et à me réexpliquer l’objectif global pour que je puisse mieux t’aider… 🙂
CommentID=Q5Hq6F2CxwMmZw3, PostID=6s015rePUPkxa5W
-
Je suis vraiment désolée pour la confusion. Mon formulaire est une sorte de confirmation de présence/checklist, donc il y a plusieurs formations sur ce formulaire… donc il y aura toujours 1 seul formulaire pour 1 personne selectionnée. Comme il y a plusieurs formations dans ce formulaire, la personne doit pouvoir retourner dans le formulaire pour le compléter au fur et à mesure (d’où le mode new et edit du formulaire).
Dans ma tête à moi, pour pouvoir sélectionner une ligne d’une liste sharepoint ou créer une nouvelle ligne il faut que le formulaire soit lié à une galerie, donc il me fallait une galerie pour mes formations… mais cette galerie pourrait être invisible si, quand on selectionne l’employé dans ma liste d’employés, mon formule s’affiche en mode new ou edit automatiquement et affiche les infos automatiquement. Est-ce que j’ai faux ?
Aussi, les employés n’ont pas tous besoin de ces formations, c’est pour ça qu’il y a une liste d’employés et une liste pour ma checklist de formations… Quand un employé a besoin de la formation on créé un formulaire pour cette personne.
Ma checklist ressemble à ça (bien entendu à retravailler un peu) :
SubCommentID=F5WTBA6HNCOUYNa, CommentID=Q5Hq6F2CxwMmZw3, PostID=6s015rePUPkxa5W
-
Ah, là ça y est tu m’as perdu… 😅 Mais t’inquiète on va y arriver…
On risque d’y passer beaucoup de temps par écris. As-tu bien reçu mon mail en message privé ? Si oui, envoie-moi un message sur Teams demain matin et on regardera ça ensemble… 😉
SubCommentID=dMEybZrwAsegHJH, CommentID=Q5Hq6F2CxwMmZw3, PostID=6s015rePUPkxa5W
-
Ah, je viens de voir le mail que tu m’as envoyé… J’y réponds… 🙂
SubCommentID=G9q39xxqy1IvSux, CommentID=Q5Hq6F2CxwMmZw3, PostID=6s015rePUPkxa5W
-
Connectez-vous pour répondre.