recuperer variables dans un agent lotus script depuis un mas

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

recuperer variables dans un agent lotus script depuis un mas

Messagepar gbrunel » 22 Oct 2009 à 14:12

Bonjour,


novice ( et plus encore ) en développement lotus. je voudrais juste récuperer des variables d'un mask dans un agent.

explication exacte:
j'ai cré un mask pour renseigner des variables ( user , mot de pase,...) puis valider via un bouton ki me lance un agent ( en tant que le serveur ou un user ). dans cet agent ( lotussciprt ) je voudrais récupérer les variables renseigner précedemment mais je n'y arrive pas.


merci de m'aider svp.
gbrunel
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 5
Inscrit(e) le : 22 Oct 2009 à 14:07

Messagepar kochiz » 22 Oct 2009 à 14:37

Bonjour,

Regardes DocumentContext dans l'aide du Designer si çà peut t'inspirer.
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

en fait ca m'inspire pas trop a dire vrai

Messagepar gbrunel » 22 Oct 2009 à 15:29

en fait ca m'inspire pas trop a dire vrai
gbrunel
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 5
Inscrit(e) le : 22 Oct 2009 à 14:07

Messagepar kochiz » 22 Oct 2009 à 15:53

En fait tout dépend du "contexte", tu es en web ou en client notes.

Si c'est en client Noets dit client lourd tu as la propriété currentdocument.
Si c'est en web dans l'appel de ton agent tu peux envoyer des variables qui seront dans ton url d'appel et que tu pourras retrouevr via la documentcontext.
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

en fait je suis uniquement en client lourd

Messagepar gbrunel » 22 Oct 2009 à 15:55

en fait je suis uniquement en client lourd
gbrunel
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 5
Inscrit(e) le : 22 Oct 2009 à 14:07

Messagepar kochiz » 22 Oct 2009 à 16:00

Dans ce cas dans ton agent tu instancies un objet de la classe notesuidocument et tu lui dis que c'est le currentdocument.
A partir de là tu as accès aux champs (variables) qui sont dans ton document (ton masque).
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar roubech » 22 Oct 2009 à 20:46

si tu souhaites juste utiliser le masque pour faire saisir des info u user, mais pas stocker un doc, tu peux appeler directement ton agent, et dans celui-ci, tu ouvres une boite de dialogue affichant ton masque pour faire saisir le contenu ... si ce fonctionnement te correspond, regarde NotesUIWorkspace.DialogBox
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar jfarissi » 27 Oct 2009 à 17:40

Dim ses As NotesSession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument


Set ses = New NotesSession
Set uidoc = workspace.CurrentDocument
uidoc.Document.tonchamp(0)

c'est comme ça que tu lis tes champs
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar mike76 » 27 Oct 2009 à 17:53

je te conseille :
Code : Tout sélectionner
uidoc.Document.GetItemValue("tonchamp")(0)


ça évite que Lotus doive retraduire
Code : Tout sélectionner
uidoc.Document.tonchamp(0)

en
Code : Tout sélectionner
uidoc.Document.GetItemValue("tonchamp")(0)


juste une petite question d'optimisation
c'est Jérôme qui l'a dit aux TechDays 2008, donc si Jérôme l'a dit il faut faire !!! :wink:
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar roubech » 27 Oct 2009 à 18:22

il faudrait déjà savoir comment est lancé l'agent (être sur qu'il ne s'agit pas d'un agent planifié)
si on parle d'un masque temporaire pour saisir les infos (mais pas enregistrer), ou si on parle d'un doc existant
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Jérome Deniau » 29 Oct 2009 à 21:33

Merci Mike cela va encore me créer pleins de pbs ;-)
Jérome Deniau
 

Messagepar Jérome Deniau » 29 Oct 2009 à 21:49

Franchement je veux bien mais faire un agent pour cela revient à vouloir faire des xpages dans une application Lotus-Notes lourd histoire de faire une xPage...

Donc l'agent est exécuté comment? manuellement (côté client) ou de manière automatique (côté serveur donc) et pour quoi faire (ouvrir une session?)?

Pour récupérer les valeurs, cf les cours Lotus de base en développement LotusScript
1. Comment accéder au document?
Soit on y accède dans une vue ou le document actuellement ouver, utiliser NotesDatabase.UnprocessedDocuments qui renvoit une collection (tout dépend de la configuration de l'agent), si on est dans une vue/document/agent déclenché sur le ou les docs sélectionnés, le unproccesseddocuments renvoit le doc sélectionné/courant/correspondant aux critères de l'agent.

2. Une fois que l'on a obtenu le document, on veut accéder aux champ donc via NotesDocument.getItemValue(Nomduchamp)(indice du tableau ou non) (et oui tout champ notes est un tableau de valeurs SAUF le champ texte riche) ou NotesDocument.getFirstitem(Nomduchamp) puis après utiliser item.values ou autres méthodes/propriétés

Donc en gros:
1. J'accède au document qui m'intéresse
- doc à l'écran via NotesUIworkSpace
- doc sélectionné ou courant via notesDatabase.unprocessedocuments
- en le cherchant, méthodes search, ftsearch getdocumentbyunid de notesdatabase ou en parcourant une vue via notesview, ou via....

2. Une fois le document atteint, je parcours les doc pour récupérer les champs
- GetFirstItem pour récupérer le premier champ portant un nom
- GetItemValue, je connais le champ et je veux toutes les valeurs de ce derniers.

etc......

Formation Développement Lotus Pas chères partout en France, en Europe, ailleurs dans le monde, cela fait gagner du temps.....
Jérome Deniau
 

Messagepar roubech » 30 Oct 2009 à 08:15

je crois que l'interessé est parti en vacances ou en a rien a foutre des réponses
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 30 Oct 2009 à 08:29

il n'est pas revenu depuis le 23 octobre !
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

cron