par roubech » 29 Sep 2010 à 19:58
plusieurs solution, ça dépend de l'ergonomie que tu veux et de la faço dont tu veux ecploiter les donner ensuite
1°)
Dans ton masque "Commande",
un champ liste de choix, éditable, "tmpProduit"
un champ numerique éditable "tmpQuantite"
un bouton "Ajouter"
un champ multivalué, calculé à la création, "Produits"
un champ multivalué, calculé à la création, "Quantites"
Quand tu cliques sur le bouton, en @formule, tu ajoutes les valeurs sélectionnées dans les champs tmp en fin de liste :
[syntax="Formula"]FIELD Produits := Produits : tmpProduit;
FIELD Quantites := Quantites : tmpQuantite[/syntax]
tu peux faire une variante, avec juste un champ liste qui concatène lignesCmd := lignesCmd : (tmpProduit + "|" + tmpQuantite)
Mais j'imagine qu'près il va te falloir un bouton Edit et un bouton Remove ?
Mais cette solution risque de ne pas être pratique si tu veux faire une vue pour totaliser les quantités par Produit
2°)
créer un doc "LigneCmd" rattaché (père\fils) au doc "Commande" pour chaque produit et les afficher dans une vue intégrée par exemple. Le bouton en LS pourrait ressembler à :
[syntax="LotusScript"]set doc = new NotesDocument(db)
doc.Form = "LigneCmd"
doc.Produit = docCmd.tmpProduit(0)
doc.Quantite = docCmd.Quantite
call doc.Save(true, true)
call doc.MakeResponse(docCmd)[/syntax]
3°)
au lieu de mettre des champs tmp sur le masque, utiliser une dialoguebox
...