Recopier une ligne d'une table vers plusieurs autres tables - Problème pour certains formats de champs

Bonjour

Mon besoin initial était de créer un seul formulaire pour mes utilisateurs qui va ensuite recopier les champs dans plusieurs tables.

Malheureusement si j’ai bien compris ce n’est pas possible.

Ma solution de contournement est d’avoir créé une table “ Tampon” sur laquelle le formulaire peut se baser et qui reprend tous les champs nécessaires.

DOnc je récupère toutes les données saisies dans une ligne de ma table Tampon puis j’utilise un bouton Action ( je le fais à la main pour l’instant pour chaque ligne car je n’en aurai pas tant que ça) qui fait appel à la fonction AddRecord sous cette forme :

[« AddRecord », « NomTable », RecordId_ou_None, {« colonne1 »: valeur1, « colonne2 »: valeur2, …}]

Maintenant je dois donc aller ensuite recopier les champs dans les bonnes tables.

Jusque là tout va bien.

Mon problème maintenant vient du fait que les champs ont différents formats et ça ne marche plus tel quel quand le champ fait appel à une liste déroulante ( qui va chercher dans une table de correspondance où j’ai juste un code + un libellé) même si le champ est construit exactement de la même façon dans les 2 tables.

Je teste ceci mais ça ne fonctionne pas :

« champ resultat »: $champ source –> j’ai une erreur de ce type : {‹ rowId ›: 4, ‹ tableId ›: ‹ Table_correspondance_libelle ›} ,

Du coup j’ai testé ça qui ne fonctionne pas non plus

« champ resultat »: Table_correspondance_libelle_liste.lookupOne(libelle =$champ source).code ,–> ça me ramène 0 dans tous les cas.

Voilà mes questions :

1 - J’ai vraiment l’impression de construire une usine à gaz pour juste résoudre le problème d’avoir un formulaire qui va chercher n’importe quel champ dans différentes tables, à terme ce n’est pas viable car mes tables vont s’étoffer, , n’y a t’il vraiment pas une autre solution?

2 - Cas particulier des champs à recopier qui font appel à une référence, la formule simple ne fonctionne pas. Quelle serait la logique ? quand je remplis le formulaire qui fait appel à une réference d’une autre table , quelle donnée est stockée dans ce cas ? le code ou le libellé ? ensuite comment aller mettre dans ma table finale la bonne valeur ?

Merci de m’avoir lue jusqu’ici !

Je me réponds, finalement en énoncant bien le problème l’IA m’a bien aidée. je vous donne donc le résultat :

Avec mon formulaire l’utilisateur choisit un libellé mais on stocke l’id du libellé . Donc je devais juste faire « champ_resultat »:$champ_source.id

Et il faut bien que les 2 champs soient des references vers la table où il y a les code/libellés.

Et ça fonctionne !

Il reste finalement la question principale : 1 formulaire = 1 table ? y a t’il une autre solution de contournement que ma solution de “mega table de transition” ?

Bonjour, le lookupOrAddDerived ? 🔗 Copier automatiquement des données d'une table vers une autre

Merci pour l’info sur cette fonction. Je vais creuser. J’ai l’impression qu’au final on est un peu sur le même schéma avec une table qui affiche les données d’une autre table (dans l’exemple par référence entre Commande et Fournisseurs ) . J’espère que ce sujet du formulaire sur plusieurs tables verra le jour prochainement