Hallo,
ich möchte aus einer Ansicht heraus für mehrere ausgewählte Dokumente eine Möglichkeit zur Eingabe von Änderungen schaffen (konkret: es soll u.a. ein Bearbeitungsdatum erfasst werden).
Dazu habe ich eine Maske mit Eingabemöglichkeit für die relevanten Felder geschaffen.
Diese Maske rufe ich mit der DialogBox-Methode in einer Aktion "Bearbeitung dokumentieren" aus der Ansicht mit den markierten Dokumenten auf, wobei als Parameter das erste Dokument der Ansichtauswahl mitgegeben wird und in der Maske in ein Feld "ReferenzDocID" geschrieben wird.
Im Queryclose-Event dieser Maske schreibe ich dann in das ReferenzDoc (also das 1.te markierte Dokument aus der Ansicht) alle relevanten Eingaben in (temporäre) Items:
Dim uiws As New NotesUIWorkspace
Dim s As New notessession
Dim db As NotesDatabase
Dim doc As notesdocument
Dim temp_Bearbeitung_am As New NotesDateTime(source.FieldGetText("Bearbeitung_am_neu"))
Set db = s.CurrentDatabase
Set doc = db.GetDocumentByUNID(source.FieldGetText("ReferenzDocID"))
Msgbox "vorm speichern: " & doc.temp_Bearbeitung_am(0)
Call doc.ReplaceItemValue("temp_Bearbeitung_am", temp_Bearbeitung_am)
Call doc.ReplaceItemValue("temp_Bearbeitung_durch", source.FieldGetText("Bearbeitung_durch"))
Call doc.save(True,False,False)
Msgbox "nach´n speichern: " & doc.temp_Bearbeitung_am(0)
Alles anzeigen
Nach Rückkehr aus der DialogBox möchte ich dann im weiteren Verlauf der Aktion auf diese Werte zugreifen und in einer Schleife sämtliche ausgewählten Dokumente aktualisieren.
Dabei tritt folgendes Problem auf: greife ich nach der DialogBox-Methode in der Aktion auf die Feldnamen zu erhalte ich stur die Werte VOR Änderung durch die DialogBox-Maske zurück.
Beende ich z.B. die Aktion nach der DialogBox-Methode und beauskunfte dann das Referenz-Doc im Client sind die Feldwerte entsprechend der Eingabe in der DialogBox-Maske geändert.
Im Moment habe ich das Gefühl mir fehlt in der Aktion eine Methode vergleichbar des uidoc.reload aus dem Frontend - wobei ich mich ja nur mit Backend-Dokumenten arbeite...
Ideen ;-)?
Danke & Gruß
Martin