Agent plannifiés

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

Agent plannifiés

Messagepar philippeG » 29 Juil 2003 à 13:16

Bonjour,Lors des notifications d'absence je voudrais pouvoir indiquer automatiquement le serveur sur lequel doit s'exécuter l'agent d'absence à partir des informations contenue dans le carnet d'adresse.En regardant les propriétés de l'agent ProcessOutOfOffice j'ai vu un champ appelé $MachineName qui à l'air de contenir l'info qui m'intéresse.Petit problème je ne sais pas comment accéder à champ en scriptQuelqu'un sait il comment faire ?
philippeG
 

Re: Agent plannifiés

Messagepar asx9 » 29 Juil 2003 à 14:59

Dim doc As NotesDocumentdoc.getitemvalue("monchamp")(0)si j'ai bien compris ta demande!
asx9
 

Re: Agent plannifiés

Messagepar philippeG » 29 Juil 2003 à 15:28

sans aller jusqu'a dire que tu n'as pas compris mais j'ai sans doute mal expliqué o))))mon pbm est que je veux modifier un champ dans un objet notes qui n'est pas un document (ça je sais faire) mais dans un agent.J'ai vu une liste de champ (qui commence tous par $) dans la boite de dialogue des propriétés de l'agent (onglet champ) et je ne demande comment faire pour aller modifier la valeur d'un de ces champsje n'ai rien trouvé dans la doc de la classe d'agent notes
philippeG
 

Re: Agent plannifiés

Messagepar asx9 » 29 Juil 2003 à 15:42

je comprend mieux, j'étais un peu à côté.et bien je ne sais pas, peut-être ce serait plus simple de modifier le code dans ton agent. tu peux également créer d'autres agents, identiques au premier mais qui fonctionnent sur d'autres serveurs.sinon j'ai également un problème sur un agant planifié, si tu connais la réponse ça m'aiderai beaucoup (cf liste des sujets).
asx9
 

Re: Agent plannifiés

Messagepar philippeG » 29 Juil 2003 à 16:22

en fait il s'agit de l'agent d'absence que les utilisateurs doivent plannifiés eux même sur le bon serveur et comme 3 fois sur 4 il garde "local" dans le champ qui indique le serveur ou doit s'exécuter l'agent je charche un moyen de forcer le nom du serveur de messagerie pour cet agent qui est dans toutes les boites mails.pour ton pbm je vais regarder si je peux t'aider
philippeG
 

Re: Agent plannifiés

Messagepar Droad » 29 Juil 2003 à 18:09

(Pour Win32 uniquement):Const NOTE_CLASS_FILTER = &H0200Const wAPIModule = "NNOTES" ' Windows/32Declare Private Function NIFFindDesignNote Lib wAPIModule Alias "NIFFindDesignNote" _( Byval hDB As Long, Byval S As String, Byval C As Integer, N As Long) As IntegerDeclare Private Function NSFDbClose Lib wAPIModule Alias "NSFDbClose" _( Byval DbHandle As Long) As IntegerDeclare Private Function OSPathNetConstruct Lib wAPIModule Alias "OSPathNetConstruct" _( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As IntegerDeclare Private Function NSFDbOpen Lib wAPIModule Alias "NSFDbOpen" _( Byval PathName As String, DbHandle As Long) As IntegerSub Click(Source As Button) Dim session As New NotesSession, ws As New notesUIWorkspace Dim db As NotesDatabase Set db = session.CurrentDatabase Dim i As Integer Redim agentNames(Ubound(db.Agents)) As String Forall ag In db.agents agentNames(i) = ag.name i = i+1 End Forall Dim a As String a = ws.Prompt(PROMPT_OKCANCELLIST, "Agent", "Your choice:", agentNames(0), agentNames) If a = "" Then Exit Sub Dim adoc As NotesDocument Set adoc = GetAgentDocument(session.CurrentDatabase, a$) If adoc.HasItem("$MachineName") Then Messagebox "Machine Name: " & adoc.~$MachineName(0) Else Messagebox "No Machine Name" End IfEnd SubFunction GetAgentDocument(db As NotesDatabase, agent As String) As NotesDocument np$ = Space(1024) OSPathNetConstruct 0, db.Server, db.FilePath, np$ Dim hDB As Long NSFDbOpen np$, hDB If hDB = 0 Then Error 1000, "Can't open database" pt& = Instr(agent, "|") If pt& = 0 Then ti$ = Trim$(agent) Else ti$ = Trim$(Left$(agent, pt& - 1)) Dim nID As Long NIFFindDesignNote hDB, ti$, NOTE_CLASS_FILTER, nID If nID = 0 Then Error 1000, "Can't find agent " & ti$ NSFDbClose hDB Dim doc As NotesDocument Set doc = db.GetDocumentByID(Hex$(nID)) If Instr(doc.~$Flags(0), "f") = 0 Then Error 1000, ti$ & " is not an agent" Set GetAgentDocument = docEnd Function[%sig%]
Droad
 

Re: Agent plannifiés

Messagepar PhilippeG » 30 Juil 2003 à 12:37

Super ça marchemerciquestion subsidiaire connais tu un site ou je pourrai retrouver des infos sur l'utilisation des API ?
PhilippeG
 


Retour vers Développement

cron