par clémentine » 23 Juil 2003 à 15:10
Pour info, si tu ne veux pas passer par LotusScript, il y a une autre solution.Tu crées un doc profil, c'est à dire un masque que tu appelles par exemple "docprofile". Ce masque ne doit pas être visuable depuis une vue (dans tes sélections de vue n'inclues pas les documents créés par ce masque).Dans ce masque, tu crées un champ que tu appelles par exemple "compteur" et de type texte.Tu mets comme valeur par défaut "0" pour ton compteur.Pour créer ton doc profile, tu prévisualises le masque et tu l'enregistres.Ensuite, dans les masques que tu utilises pour créer tes documents, tu insères un champ, par exemple numDemande qui affichera le numéro de ta demande dans la base. Ce champ doit être de type calculé avec comme valeur par défaut "".Dans l'évenement QuerySave de ce masque, tu choisis le langage des formules et tu mets quelque chose du type : REM "le compteur ne s incrémente que lorsque l on enregistre un nouveau document, sinon on sort";@If( !@IsNewDoc ; @Return(""); "");REM "on récupère la valeur du doc profile";val := @GetProfileField("Doc Profile";"compteur");REM "si elle n est pas nulle, on l incrémente";new_val := @If(val = "" ; 1 ; @TextToNumber(val) + 1);REM "(cf un sujet déjà posté sur ce forum....)";REM "tu remets la valeur incrémentée dans le champ du doc profil";@SetProfileField("Doc Profile";"compteur"; @Text(new_val)); REM "tu transmet la valeur de ton compteur au champ numDemande";@SetField("numDemande"; new_val);et voila.Par contre, je ne sais pas ce que cela donne si plusieurs utilisateurs enregistrent en même temps ou des choses de ce genre...