Page 1 sur 1

Agent plannifiés

MessagePublié: 29 Juil 2003 à 13:16
par philippeG
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 ?

Re: Agent plannifiés

MessagePublié: 29 Juil 2003 à 14:59
par asx9
Dim doc As NotesDocumentdoc.getitemvalue("monchamp")(0)si j'ai bien compris ta demande!

Re: Agent plannifiés

MessagePublié: 29 Juil 2003 à 15:28
par philippeG
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

Re: Agent plannifiés

MessagePublié: 29 Juil 2003 à 15:42
par asx9
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).

Re: Agent plannifiés

MessagePublié: 29 Juil 2003 à 16:22
par philippeG
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

Re: Agent plannifiés

MessagePublié: 29 Juil 2003 à 18:09
par Droad
(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%]

Re: Agent plannifiés

MessagePublié: 30 Juil 2003 à 12:37
par PhilippeG
Super ça marchemerciquestion subsidiaire connais tu un site ou je pourrai retrouver des infos sur l'utilisation des API ?