Définir le mode New ou Edit d'un formulaire

Étiquetté : ,

  • Définir le mode New ou Edit d'un formulaire

    Posté par Estelle sur 17 février 2023 à 14h46

    Bonjour,

    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
  • R3dKap

    Membre
    17 février 2023 à 16h03

    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

    • Estelle

      Membre
      17 février 2023 à 16h16

      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

  • R3dKap

    Membre
    18 février 2023 à 13h27

    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.

    1. Une galerie à gauche qui s’appelle galPersonnes branchée sur ta liste Personnes

    2. 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)

    3. Sur galPersonnes.Items : Personnes

    4. 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)

    5. 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

    6. Je vais supposer que tu as un formulaire frmFormationSuivie dans lequel tu peux créer/modifier une formation suivie par une personne

    7. Sur galPersonnes.OnSelect : UpdateContext({locSelectedPersonne: ThisItem; locSelectedFormation: Blank()});; Reset(galFormationsSuivies)

    8. Sur galFormationsSuivies.OnSelect : UpdateContext({locSelectedFormation: ThisItem})

    9. Sur frmFormationSuivie.DataSource = Formations_Suivies

    10. Sur frmFormationSuivie.Item = LookUp(Formations_Suivies; ID = locSelectedFormation.ID)

    11. Sur frmFormationSuivie.Visible = !IsBlank(locSelectedFormation) || (!IsBlank(locSelectedPersonne) && IsEmpty(galFormationsSuivies.AllItems))

    12. Sur frmFormationSuivie.DefaultMode = If(!IsBlank(locSelectedFormation); FormMode.Edit; FormMode.New)

    13. 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

    • Estelle

      Membre
      19 février 2023 à 0h47

      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

  • R3dKap

    Membre
    20 février 2023 à 8h43

    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

    • Estelle

      Membre
      20 février 2023 à 16h39

      La variable locSelectedFormation reste vide

      !IsBlank(locSelectedFormation) = false

      !IsBlank(locSelectedPersonne) = true

      IsEmpty(galFormationsSuivies.AllItems)=false

      SubCommentID=YxF2dYzfeUAkfHP, CommentID=Jq5WkALnSuwrxHU, PostID=6s015rePUPkxa5W

  • R3dKap

    Membre
    20 février 2023 à 18h56

    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

    • Estelle

      Membre
      20 février 2023 à 21h32

      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

  • R3dKap

    Membre
    21 février 2023 à 8h07

    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

    • Estelle

      Membre
      21 février 2023 à 15h44

      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

    • R3dKap

      Membre
      21 février 2023 à 20h31

      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

    • R3dKap

      Membre
      21 février 2023 à 20h33

      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.