Document sélectionné

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Document sélectionné

Messagepar Kaly » 08 Sep 2010 à 17:01

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
Kaly
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 118
Inscrit(e) le : 26 Déc 2006 à 13:22

Messagepar roubech » 08 Sep 2010 à 22:19

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é
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar nemrod93 » 09 Sep 2010 à 07:35

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))
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 09 Sep 2010 à 07:56

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement