Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: smithee am 28.11.08 - 11:47:03

Titel: Java über button ausführen, Dokument aktualisieren
Beitrag 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
Titel: Re: Java über button ausführen, Dokument aktualisieren
Beitrag von: jBubbleBoy am 28.11.08 - 11:57:26
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.
Titel: Re: Java über button ausführen, Dokument aktualisieren
Beitrag von: smithee am 28.11.08 - 14:12:19
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....