4D v17 - listbox ORDA / entity selection et saisie en liste

Bonjour,

Nous essayons d’utiliser les listbox entity selection avec ORDA et la saisie en liste.

Nous avons deux problèmes :

  1. chaque sortie de cellule (événement sur données modifiées) entraine l’enregistrement automatique par 4D (et l’appel du trigger).
  2. nous souhaiterions faire des contrôles de cohérence lorsque toutes les cellules de la lignes sont saisies (quand l’utilisateur change de ligne par exemple) mais on ne sais pas trop comment détecter ce cas de figure.

Des idées ?

Simple idée : ouvrir une transaction quand tu arrives sur une nouvelle ligne et quand tu la quittes, faire les tests que tu souhaites et valider ou annuler la transaction ?

Bruno,
I’ve worked around this by using .toCollection() for the display data. Then updating the records when the explicit Save command is authorized by the user.

This gives you control on an entity x entity basis where a transaction gives you all-or-nothing control.

Thanks Kirk for your reply (and well done for understanding french) ! :smiley:

Ok Kirk, so then you work with a Listbox associated with a collection, and you manage the relationship between your collection and the data (do controls, then add/save modified items, etc…). Is that right ?

PS : the new forum is great because it seems that more developers are willing to help in a single place ! :grinning:

Merci Eric,

On y a pensé. avec éventuellement des transactions imbriquées, mais les triggers restent appelées à chaque modification de cellule… Et on ne maitrise pas quand on sauve et c’est gênant dans nos besoins.

De plus il faut avoir une code solide pour gérer le démarrage d’une transaction dans un événement et la validation de la transaction sur un autre événement. Je ne dit pas que c’est impossible mais ça me fait un peu peur à vrai dire.

Thanks to google translate it’s like a second language…

Pretty much. It’s not the optimal way because I have to take on much of the work 4D does automagically. But sometimes it’s necessary. I’m thinking about list boxes where the user is setting up financial info or other cases where, like you say, validation and error checking across records is required.

You might be able to eliminate some of that by the way you set up the data structure before you even show the list box. It really depends on the specifics of the situation.

C’est sûr…
(4D a bien dû mettre en place qqchose qui permet de gérer ça, non ??)

Salut Bruno,
je ne savais pas que la saisie en liste fonctionnait aussi avec les listbox orda… Par contre ça a toujours été comme ça avec les listbox sélection, pour schématiser, on est en “prise directe” sur l’enregistrement et on a droit au trigger à chaque modification de champ. Comme je n’aime pas du tout ça, quand je veux une saisie en liste, je fais autrement (LB tableau ou collection.)

@ Éric
la transaction, ça ne va pas changer beaucoup, le problème est que la mécanique est vraiment très terre à terre…

Le nug s’est suicidé en 2-3 jours :smile:

Very appreciated!

It is the same process that was used with sql with a column for the id, eventually hidden.