Page 1 sur 1

Creer un document "réponse" via DialogBox

MessagePublié: 14 Fév 2003 à 11:44
par Hugues
Salut,Pour simplifier mon application (contenant des documents de type réponse), je désire créer une dialogBox permettant aux users de selectionner le document père dans une liste (lien dbcolumn) jusque la pas de prob,mais ensuite comment faire creer un le document réponse??merci pour vos idées...

Re: Creer un document "réponse" via DialogBox

MessagePublié: 14 Fév 2003 à 12:09
par Stéphane
Va falloir passer en Lotusscript...Tu crée un document :Dim ws as New NotesuiworkspaceDim db as NotesdatabaseDim currdoc as NotesdocumentDim parentdoc as Notesdocument, newdoc as NotesdocumentSet db = ws.Currentdatabase.DatabaseSet currdoc = ws.Currentdocument.DocumentSet newdoc = db.Createdocument()doc.Form = "TON MASQUE"Tu le déclare fils de ton document pêre, dont par exemple l'id est stocké dans un champs FieldParentID du document courant (celui de ta dialoglist par exemple):Set parentdoc = db.Getdocumentbyunid(currdoc.FieldParentID(0))Call newdoc.Makeresponse(parentdoc)Tu affecte éventuellement des champs...docField1 = "toto"Tu sauve si besoin :Call newdoc.Save(True,False)ou tu peuts editer le document :Call ws.Editdocument(newdoc)et laisser l'utilisateur saisir et choisir de sauvegarder ou non.Voila j'espère que cela t'aidera.

Re: Creer un document "réponse" via DialogBox

MessagePublié: 14 Fév 2003 à 14:39
par Hugues
Merci de aide...Je viens de creer un masque contenant une zone de présentation pour la dialogueBox.Il contient:-la liste deroulante des documents père > ok-un champ(FieldParentID) qui remonte Id du doc père >ok-un bouton d'action contenant ton code (ce qui devrait lancer le masque réponse,si j'ai bien compris ton prog).J'ai une erreur du type :Variant does not contain an objectBouton=Sub Click(Source As Button) Dim ws As New Notesuiworkspace Dim db As Notesdatabase Dim currdoc As Notesdocument Dim parentdoc As Notesdocument, newdoc As Notesdocument Set db = ws.Currentdatabase.Database Set currdoc = ws.Currentdocument.Document Set newdoc = db.Createdocument() doc.Form = "Enfant" REM "Tu le déclare fils de ton document père, dont par exemple l'id est stocké dans un champs FieldParentID du document courant (celui de ta dialoglist par exemple):" Set parentdoc = db.Getdocumentbyunid(currdoc.FieldParentID(0)) Call newdoc.Makeresponse(parentdoc) REM"ou tu peuts editer le document :" Call ws.Editdocument(newdoc)End Sub

Re: Creer un document "réponse" via DialogBox

MessagePublié: 17 Fév 2003 à 11:02
par Stéphane
La petite erreur vient du faite que ce n'est pas doc.Form = "Enfant" mais newdoc.Form = "Enfant", doc n'existe pas comme variable ou objet dans le code...En plus tu ne devrais pas créer un bouton d'action, mais soit une zone sensible de type "bouton" ou encore mieux placer ton code dans le queryclose de ton masque servant au dialogue box, ainsi le nouveau document est édité et ta fenêtre de dialogue est fermée...

Re: Creer un document "réponse" via DialogBox

MessagePublié: 18 Fév 2003 à 11:32
par Hugues
J'ai suivi tes recommandation à savoir modif du code et déplacement ds l'événement QueryClose.Une erreur persiste toute fois "Notes Error: La commande spécifier n'ait pas dispo à partir de l'espace de travail"quelle interprétation en tirer?? il semblerait que cela ne peux fonctionner...A + Hugues

Re: Creer un document "réponse" via DialogBox

MessagePublié: 18 Fév 2003 à 14:33
par Stéphane
Décidement, il semblerait que j'ai été un peu vite en tapant le code en ligne ;-)En effet il manque un argument à la méthode Editdocument, le premier pour être exacte qui indique le mode d'ouverture du document (False : lecture et True : pour edition) dans ton cas puisque le document n'est pas sauvegardé et que l'utilisateur peut saisir des champ et décider ensuite si il le sauve tu doits l'ouvrir en mode édit donc remplace :Call ws.Editdocument(newdoc)par :Call ws.Editdocument(True,newdoc)Et cela devrait marcher... sorry !