Domino 9 und frühere Versionen > ND8: Entwicklung
Automatischer aufgerufener Agent läuft nicht mehr auf dem Server
Klafu:
Hallo,
danke für eure Antworten! Ich werde dann mal den Server als Benutzer laufen lassen.
Was das manuelle Ausführen angeht...
Ich hab jetzt mal die While Schleife durch eine Do While ersetzt. Komischerweise ist aber doc = inbox.getnextdoc irgendwann leer obwohl im Eingang noch E-Mails stehen.
Habt ihr eine Idee, woran das liegen kann?
P.S. es scheint so, als ob er beim manuellen durchführen jeweils 50% der Mails im Eingang abarbeitet ???
Chris
TRO:
Mit dem
Call doc.RemoveFromFolder("($Inbox)")
entziehst du dem
Set doc= inbox.Getnextdocument(doc)
seine Grundlage. Es wird dadurch immer ein doc übersprungen
So wäre es korrekt
While Not doc Is Nothing
Set NEXTdoc= inbox.Getnextdocument(doc)
Set rtitem = doc.GetFirstItem( "Body" )
If (rtitem.Type = RICHTEXT) Then
ForAll o In rtitem.EmbeddedObjects
Call o.ExtractFile(fpath & o.Source)
If Dir(fpath + o.Source) <> "" Then
Call doc.PutInFolder("Done")
Call doc.RemoveFromFolder("($Inbox)")
Else
Call doc.PutInFolder("Error")
Call doc.RemoveFromFolder("($Inbox)")
i = i+1
End If
End ForAll
End If
Set doc= NEXTdoc
Wend
Klafu:
Danke TRO! :)
Der Ansatz scheint gut zu sein.
Es waren eben noch 3 Mails im Posteingang. Die ersten beiden wurden gemacht. Es wurde also nicht jede zweite ausgelassen. Nur war im 2. Durchgang das Nextdoc leer und somit ist die 3. Mail nicht mehr verarbeitet worden :-\
Chris
Tode:
Es ist VIEL einfacher: Einfach inbox.AutoUpdate = False setzen....
Ansonsten aktualisiert jede Änderung (putInFolder / removefromfolder) die Inbox und es werden nicht alle Dokumente erfasst.
Mit dem Flag gesetzt wird das LotusScript- Objekt "Inbox" auf dem Stand eingefroren den es zum Zeitpunkt des erstellens hat. Damit beeinflussen die putinfolder, removefromfolder, etc. das ganze nicht mehr. Eine Alternative wäre es, zu sagen:
While not doc is nothing
set doc = inbox.GetFirstDocument
Wend
weil sich das Inbox- Objekt sowieso nach jedem removefromfolder refresht, ist immer ein anderes Dokument das nächste neue...
Klafu:
--- Zitat von: Tode am 08.03.12 - 15:23:25 ---Eine Alternative wäre es, zu sagen:
While not doc is nothing
set doc = inbox.GetFirstDocument
Wend
weil sich das Inbox- Objekt sowieso nach jedem removefromfolder refresht, ist immer ein anderes Dokument das nächste neue...
--- Ende Zitat ---
Danke Torsten. So Funktioniert es nun einwandfrei! Besten Dank auch an die Anderen !
Chris
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln