Composant de changement d’état de formulaire

  • Composant de changement d’état de formulaire

    Posté par Karao sur 11 décembre 2023 à 19h47

    Bonjour à toutes et à tous,

    Cela fait quelques jours que je me suis mis en tête de créer un composant qui me permettrait de changer le statut de certains formulaire que j’aurai au préalable ajouté dans une Collection/Table/Autre via différent moyens.

    Cependant, au moment d’appliquer le changement d’état, je n’arrive pas à obtenir le bon type de données quand je soumets un “ViewForm” ou autre.

    Je n’arrive pas à faire parvenir dans mon composant le contrôle du formulaire, voici à quoi il ressemble

    <figure class=”image”></figure>

    Je me triture les neurones depuis deux jours dessus, mais je n’arrive pas à savoir par quel moyen je peux aboutir à mon idée.

    J’ai pourtant tester plein de trucs avec des variables de sorties, d’entrée, avec des types d’évènements, d’action ou encore de données ou encore en utilisant tableaux, des collections, des variables, etc…

    Je sais que c’est un projet un peu con, mais c’est un idée que j’ai eu et qui pourrais me simplifier/faire gagner du temps dans mon taff et vu que j’aime (malheureusement) bien aller au bout de mes idées les plus farfelus (même quand c’est pas forcément possible), je viens quémander de l’aide ici.

    Merci d’avance à ceux qui prendront le temps de comprendre et d’essayer de m’aider !

    Karao a répondu Il y a 4 mois, 1 semaine 3 Membres · 4 Réponses
  • 4 Réponses
  • DavidZed

    Membre
    11 décembre 2023 à 20h16

    Hello,

    Tout d’abord, tu ne pourras pas ajouter de manière dynamique un formulaire par son nom d’objet, je te suggère de créer une collection au démarrage de l’application, qui contient une table du type :

    ClearCollect( colFormList;

    [

    {Formulaire: “Form1”; Mode : FormMode.View };

    {Formulaire: “Form2”; Mode : FormMode.View };

    {…}

    ] )

    Il faudra activer l’option permettant au composant d’accéder aux sources de données de l’appli

    Du coup tu n’auras plus besoin des contrôles en 1,

    En 2 il faudra mettre une table avec les différents modes :

    [

    FormMode.New; FormMode.View; FormMode.Edit; FormMode.Disabled

    ]

    et en valeur par défaut, celle sélectionnée dans la galerie :

    GalleryForms.Selected.Mode

    dans le bouton “Changer”, patcher la collection avec le mode sélectionné en 2 :

    Patch(colFormList ; GalleryForms.Selected ; { Mode: DropDownFormMode.Selected.Value} )

    et enfin dans le paramètre .Mode de chaque formulaire, mettre un lookup pour récupérer le mode correspondant au formulaire ( Avec un coalesce pour palier aux éventuelles erreurs) :

    Coalesce( Lookup(colFormList ; Form=”Nom de ce formulaire” ;Mode) ; FormMode.View)

    • Cette réponse a été modifiée Il y a 4 mois, 1 semaine par  DavidZed.
  • Quentin

    Membre
    11 décembre 2023 à 20h20

    Hello,

    Ma première remarque en lisant ton idée, c’est qu’on ne peut malheureusement pas à l’heure actuelle ajouter des formulaires dans les composants ! Peut être que cela va déjà t’éclairer 🙂

    Si cela ne t’a pas entièrement aidé, est-il possible pour toi de nous partager davantage sur ton besoin, par exemple le composant au complet (captures ?) avec les fonctions que tu as utilisées ?

  • Quentin

    Membre
    11 décembre 2023 à 20h44

    Navré il semblerait qu’il y ait un décalage de rafraîchissement des commentaires 😮

    @DavidZed je vois tes messages 1h après leurs publications ! 😂

  • Karao

    Membre
    12 décembre 2023 à 9h27

    Salut,

    déjà merci de vos réponses, ta méthode est pas si mal David, elle est déjà plus opti que mes différentes manipulations.

    J’ai du coup, malheuresement compris que mon projet n’était pas complétement faisable à l’heure actuelle .

    Ce serait avec plaisir que j’enverrai des extraits de code + captures lorsque je viendrais quémander de l’aide par ici.

    Merci encore à vous

Connectez-vous pour répondre.