mir ist gerade noch nenn Fehler aufgefalle, wenn ich diesen Agent auf einzelne Dokumente ausführe geht das problemlos, wenn ich jetzt ihn jetzt auf mehre ausführe auch. Allerdings wenn ich jetzt nochmal den die Aktion ausführen will bekomm ich nenn Error: "Falscher Datentyp in Methode NormCompArg: SHORT wurde gefunden, String wurde erwartet".
Ich hohl mal ein bisschen weiter aus...
die Dokumente die ausgewählt wurden werden jetzt durch eine Prozedur gejagd und zum schluss gelöscht, darauf hin soll sich das nächste Dokument gehohlt werden
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
.
.
.
Set rdoc = doc
Set doc = collection.GetNextDocument(doc)
Call rdoc.Remove(True)
Wend
Das Problem ist jetzt wohl das wenn ich mehre Dokumente auswähle, er beim letzten Dokument keins mehr finden kann und somit hohlt er sich ein leeres laut Debugger, in meiner Prozedur gibt es eine Abfrage nach einer Zahl, da er aber ein leeres Dokument sich hohlt hat dieses Feld dann quasi den Wert "" und ich bekomm bei der Abfrage nenn Fehler. Irgendwie cachet er das wohl somit bekomm ich dann immer wieder den gleichen Fehler wenn ich die Aktion wieder ausführe. Wenn ich die Anwendung jetzt neustart gehts wieder problemlos , bis ich dann wieder mehrere Dokumente gelöscht habe.
Ich hoffe ich hab das jetzt halbwegs verständlich beschrieben :) kann mir da wer helfen?
also ne Lösung hab ich noch nicht dazu gefunden, ich post hier mal den gesamten QT, evtl liegt der Fehler irgendwo anders.
Sub Click(Source As Button)
Dim session As NotesSession
Dim item As NotesItem
Set session = New NotesSession()
Dim database As NotesDatabase
Set database = session.CurrentDatabase
Dim agent As NotesAgent
Set agent = database.GetAgent("PushAgent")
Dim collection As NotesDocumentCollection
Set collection = database.UnprocessedDocuments
Dim doc,rdoc As NotesDocument
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
NextLine$ = Chr(13) & Chr(10)
If doc.Fehler(0) = 0 Then
Set item = doc.GetFirstItem( "Body" )
BodyText = item.Text
Fieldlist = Split(BodyText, NextLine$)
'*****************
Status=""
DokID=""
Datum=""
Zeit=""
PIN=""
'*****************
Status = Fieldlist(0)
DokID = Fieldlist(1)
Datum = Fieldlist(2)
Zeit = Fieldlist(3)
PIN = Fieldlist(4)
Datum = Cdat(Datum)
Zeit = Cdat(Zeit)
Set docAddress = New NotesDocument(database)
Call docAddress.ReplaceItemValue("Form","Task")
Call docAddress.ReplaceItemValue("Pin",PIN)
Call docAddress.ReplaceItemValue("Datum",Datum)
Call docAddress.ReplaceItemValue("Zeit",Zeit)
Call docAddress.ReplaceItemValue("DokID", DokID)
Call docAddress.ReplaceItemValue("Status", Status)
Call docAddress.Save( True, True )
status = agent.run
Call docAddress.Remove(True)
End If
Set doc = collection.GetNextDocument(doc)
Wend
Call collection.RemoveAll(True)
Dim workspace As New NotesUIWorkspace
Call workspace.ViewRefresh
End Sub