Page 1 sur 1

Document sélectionné

MessagePublié: 08 Sep 2010 à 17:01
par Kaly
Bonjour,

Je souhaite créer un document sur une base A à partir d'un document situé sur une base B.

Sur ma vue de la base B, je sélectionne mon doc.

J'ai variable d'objet non définie sur
docExt.C_FirstName= uidoc.FieldGetText("FirstName")

je pense que c'est cette ligne qui pose problème :
Set uidoc = ws.CurrentDocument

Quelqu'un a t'il une idée ?
D'avance merci

Code : Tout sélectionner
Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim dbExt As New NotesDatabase ("ntvst","Maj.nsf")
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim docExt As NotesDocument
   
   Set Db = session.CurrentDatabase   
   Set uidoc = ws.CurrentDocument
   
   Set docExt = dbExt.CreateDocument
   docExt.form="M_Contact"
   docExt.C_FirstName= uidoc.FieldGetText("FirstName")
   Call docExt.Save(True,False)
End Sub

MessagePublié: 08 Sep 2010 à 22:19
par roubech
bonjour

ton bouton dans ta vue lance un agent à l'aide de la formule : @command([ToolsRunacro]; "(MonAgent)")

ton agent MonAgent est paramétré pour traiter les docs sélectionnés et utilse db.UnprocessedDocuments pour récupérer le(s) doc(s) sélectionné

MessagePublié: 09 Sep 2010 à 07:35
par nemrod93
Bonjour,
si tu pars d'une vue, tu ne peux pas utiliser directement la classe notesuidocument car elle n'est accessible que si le document est ouvert, tu dois comme le dit Roubech récupérer le document à partir de la notesdocumentcollection renvoyée par le dbunprocesseddocuments, ensuite il te suffit d'affecter la valeur doc.firstname(0) à docExt en faisant un "set item = docExt.replaceitemvalue("Firstname",doc.firstname(0))

MessagePublié: 09 Sep 2010 à 07:56
par Michael DELIQUE
salut

déjà mettre une gestion des erreurs qui te donnera plus d'info ensuite regarde en mode débug si tes objet sont corectement instancié

Code : Tout sélectionner
Sub Click(Source As Button)
   
   On Error Goto ErreurHandle
   
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim dbExt As New NotesDatabase ("ntvst","Maj.nsf")
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim docExt As NotesDocument
   
   Set Db = session.CurrentDatabase   
   Set uidoc = ws.CurrentDocument
   
   Set docExt = dbExt.CreateDocument
   docExt.form="M_Contact"
   docExt.C_FirstName= uidoc.FieldGetText("FirstName")
   Call docExt.Save(True,False)
   
   Exit Sub
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur N° " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub