Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: smithee am 28.11.08 - 11:47:03
-
Guten Morgen.
Hat ggf. schonmal jemand einen Java-Agenten per Button ausgeführt, der das geöffnete Dokument aktualisieren soll?
Also, der Agent wird bei mir getriggert, läuft und modifiziert das Backend-Dokument. Aber leider bekomme ich die Änderungen nicht auf den Schirm. Habs mit uidoc.Reload probiert und auch das Dokument vollständig zu schließen und per GeDocumentByID/EditDocument wieder zu öffnen.
Hat irgendjemand ggf. sachdienliche Hinweise?
Gruß
Christian
-
Aber die Änderungen sind schon drin, oder ;)
Wann siehst Du denn das 1. mal die Änderungen? Ein erneutes holen über das Backend via db.getDocumentbyUNID sollte ausreichend sein.
-
Die Änderungen sehen ich, wenn ich im Frontend Schließe und Neu Öffne. Wenn ich das per Script tue funktioniert es nicht. Wird da ggf. eine "session-kopie" im Speicher gehalten? Ich hatte auch schon den Effekt, dass ich wenn ich das Front-End dokument von Hand speichern wollte, nachdem der Agent gelaufen war die Abfrage bekam, ob ein Konflkt gespeichert werden soll...
Hm. Hier mal der Code:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim s As New NotesSession
Dim db As NotesDatabase
Dim ag As NotesAgent
Set db = s.CurrentDatabase
Set ag = db.GetAgent("SOAPPush")
Set uidoc = ws.CurrentDocument
uidoc.AutoReload=True
ag.Run(Format(uidoc.Document.NoteID))
id=uidoc.Document.NoteID
uidoc.Reload
uidoc.Document.SaveOptions="0"
Call uidoc.Close(True)
Dim ws2 As New NotesUIWorkspace
Dim db2 As NotesDatabase
Set db2 = ws2.CurrentDatabase.Database
Set doc = db2.GetDocumentByID(id)
Call ws2.EditDocument(True,doc)
Wie man sieht habe ich es zu letzt über einen zweiten "frischen" Workspace probiert....