exécuter un agent écrit en formule depuis du code LotusScrip

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

exécuter un agent écrit en formule depuis du code LotusScrip

Messagepar clémentine » 23 Juil 2003 à 10:04

Bonjour,Je débute et je voudrais savoir s'il est possible d'éxécuter un agent écrit en formule depuis un code en LotusScript, par exemple depuis QuerySave, et de quelle façon.Merci de votre aide.
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar Droad » 23 Juil 2003 à 10:12

dim session as new notessessiondim db as notesdatabasedim agent as notesagentset db = session.CurrentDatabaseset agent = db.getAgent("monagent")call agent.run() ' ou bien agent.runOnServer()[%sig%]
Droad
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 10:15

Merci !
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 10:33

J'ai essayé ce que tu m'a dit avec à titre d'exemple l'agent :FIELD monchamp := "ok";@Command([FileSave]);@Alloù monchamp est un champ du document depuis lequel on éxécute le code LotusScript dans QuerySave.Le champ n'est pas rempli.Peux tu me dire pourquoi?Merci.
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar Droad » 23 Juil 2003 à 10:50

Tu ne peux pas utiliser des @Command dans un agent lancé par la méthode run.[%sig%]
Droad
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 10:58

y a t-il une façon de faire pour que je puisse utiliser des @Command et des @ fonctions?Merci.
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 11:02

en fait, il faudrait que je puisse utiliser uniquement les fonctions @.
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 12:04

voici ce que j'ai :dans l'agent :FIELD essai := "ok"; @Allj'ai choisi "jamais" dans quand exécuter l'agent et "les documents nouveaux et modifiés" dans quel document doit il traité.Dans PostSave de mon masque j'ai le code suivant :Sub Postsave(Source As Notesuidocument) Dim session As New notessession Dim db As notesdatabase Dim agent As notesagent Dim ws As NotesUIWorkspace Dim iudoc As NotesUIDocument Set ws = New NotesUIWorkspace Set iudoc = ws.CurrentDocument Set db = session.CurrentDatabase Set agent = db.getAgent("agentpostsave") Call agent.runOnServer() Call iudoc.Reload End Subet quand j'enregistre le document j'ai l'erreur suivante : "une autre copie de ce document a été enregistré pendant que vous l'éditez. Voulez-vous enregistré ces modifications sous forme d'un document en conflit?"Est ce que quelqu'un aurrait une explication svp?
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar Droad » 23 Juil 2003 à 13:52

1) Si tu choisi "Les documents nouveaux et modifiés", TOUS les documentsnouveaux et modifiés de la base seront traités (je n'ai pas l'impression que c'est le résultat que tu cherches)2) Normal: Lorsque tu lances l'agent avec run, celui-ci s'éxécute dans son propre contexte, exactement comme ci un utilisateur autre que toi l'avait lancémanuellement. Donc, ce qui se passe c'est:- tu ouvre le doc en édition- un autre utilisateur (l'agent) ouvre et enregistre le même doc- tu enregistres le doc -> Notes détecte qu'il à été modifié entre temps par un autre utilisateur et te propose de créer un conflit d'enregistrement (ta version du doc lié au doc d'origine par un lien parent-réponse). 3) Tu devrais effectuer toutes tes opérations en LS, ça serait plus cohérent.[%sig%]
Droad
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 23 Juil 2003 à 14:20

Merci de tes explications ca m'aide beaucoup.
clémentine
 

Re: exécuter un agent écrit en formule depuis du code LotusS

Messagepar clémentine » 31 Juil 2003 à 09:16

Bonjour à tous,encore quelques questions :Si je lance dans un code en formule, un agent écrit en formule, dans quel cas l'agent sera considéré comme un autre utilisateur?Est-ce si j'enregistre à la fois dans mon agent et dans le code en formule?Et si j'utilise @PostedCommand est-ce que je pourrais éviter les conflits d'enregistrement?De manière plus générale, et si j'ai bien compris, si deux utilisateurs (rééls) ouvrent le même document, font des modifications différentes sur ce document et l'enregistre, ca fera un conflit d'enregistrement. Comment gérer ça?Merci.
clémentine
 


Retour vers Développement

cron