Garder données après enregistrement formulaire

  • Garder données après enregistrement formulaire

    Posté par Florian Gajdos sur 26 mars 2024 at 14h29

    Bonjour à tous,

    Dans le but de réduire le nombre de clique dans mon app j’aimerai qu’à la suite de l’enregistrement d’un formulaire certains champs (combobox et dropdown) gardent en mémoire la sélection. Ainsi le nouveau formulaire sera pré-complété par le précédent.

    Faut-il stocker dans une variable ? J’ai du mal de voir comment construire cette solution

    Merci par avance.

    Cordialement

    DavidZed a répondu 7 months, 4 weeks ago 3 Membres · 5 Réponses
  • 5 Réponses
  • MarKAR

    Member
    26 mars 2024 at 14h42

    Hello

    Oui tu récupère le l’élément que tu as créé ou modifié depuis la propriété Form.LastSubmit de préférence dans l’evenement OnSubmit

  • Florian Gajdos

    Member
    26 mars 2024 at 15h38

    Merci pour ta réponse MarKAR, peux-tu préciser dans “l’évenement Onsubmit” ? Car je trouves le “Onsuccess ” mais pas l’action “Onsubmit”

  • MarKAR

    Member
    26 mars 2024 at 15h52

    Oui pardon c’est le onSuccess et non pas le onSubmit 🙂

  • Florian Gajdos

    Member
    26 mars 2024 at 16h48

    Je viens de mettre en oeuvre ta proposition mais le souci avec la fonction”Lastsubmit” ça me reprends mon dernier enregistrement et le modifie si j’enregistre.

    Alors que je souhaiterai seulement reprendre la sélection d’un dropdown pour compléter ce même dropdown dans un nouveau formulaire.

  • DavidZed

    Member
    26 mars 2024 at 19h25

    <h2>Deux solutions :</h2>

    Tu peux mettre dans le paramètre Default de chaque DataCard (tu dois avoir par défaut: ThisItem.’Nom de la colonne’ dans cette propriété) :

    If(Parent.Mode=FormMode.New ; Self.LastSubmit.'Nom de la colonne' ; ThisItem.'Nom de la colonne')

    Ainsi, quand tu feras un NewForm(Formulaire), celui-ci prendra les dernières valeurs envoyées

    <h2> </h2>
    <h2>La 2eme solution :</h2>

    Il faut passer par une variable de contexte à mettre dans la propriété item, appelons là ctxSeletedItem

    Dans le OnSucces, tu ajoutes :

    UpdateContext({ ctxSeletedItem : DropColumns(Self.LastSubmit, "ID" ) } )

    UpdateContext

    DropColumns (Doc) va te permettre d’ignorer la colonne clé de ton enregistrement, sans celle-ci, les données envoyées seront considérées comme un nouvel enregistrement (car sans clé)

    Par contre avec cette technique, il faudra que le formulaire soit en mode Edit et non en Mode New, sinon les valeurs ne seront pas affichées

Connectez-vous pour répondre.