Hallo Leute,
bin mal wieder auf eure Hilfe angewiesen.
Ich hab eine Datenbank mit Hauptdokumenten (Name, Kd-Nr, Anschrift von Kunden). Zu jedem Hauptdokument gibt es Antwortdoks mit Informationen über Buchungen zu diesen Kunden. (Z.B. enthält ein Antwortdok die Felder Buchungstag, Verwendungszwecke, Konto Empfänger...) Jeder Kunde kann unterschiedlich viele Antwortdoks haben.
Nun soll ein Anschreiben an die Kunden erfolgen, in welchem diese Buchungsinformationen mitgeteilt werden. Das Anschreiben hab ich als Maske gestaltet. Im Postopen-Ereignis der Maske holt mir ein Script die Informationen aus den jeweiligen Antwortdoks und schreibt diese Inhalte in Felder des aktuellen Doks. Die Felder in der Maske bleiben leer. Wenn ich mir in den Eigenschaften des Doks diese Felder anschauen, dann sind die Felder aber richtig gefüllt. Dann, sobald ich das Dok in den Bearbeitenmodus versetze sind die Felder in den Eigenschaften des Doks aber auch wieder leer!!??
Lasse ich das gleiche Script im Ereignis QueryModeChance laufen, dann funktionierts. Die Feldinhalte werden in der Maske dargestellt. (Natürlich erst wenn ich das Dok bearbeite) Warum funzt das aber nicht im Postopen??
Hier noch mein Script:
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesuiDocument
Dim doc As NotesDocument
Dim responsedoc As NotesDocument
Dim responsecol As NotesDocumentCollection
Set uidoc=uiws.currentDocument
Set doc=uidoc.Document
Set responsecol=doc.Responses
Dim Feldzahl As Integer
Dim Buchungstag As String, BLZ As String, Kto As String, VWZ As String
Feldzahl=1
Set responsedoc=responsecol.GetFirstDocument
Do Until responsedoc Is Nothing
Buchungstag="TmpBuchungstag"&Feldzahl
BLZ="TmpEmpfängerBLZ"&Feldzahl
Kto="TmpEmpfängerKto"&Feldzahl
VWZ="TmpVWZ"&Feldzahl
Call doc.ReplaceItemValue(Buchungstag, responsedoc.Buchungstag)
Call doc.ReplaceItemValue(BLZ, responsedoc.BLZEmpfänger)
Call doc.ReplaceItemValue(Kto, responsedoc.KontoEmpfänger)
Call doc.ReplaceItemValue(VWZ, responsedoc.Verwendungszweck)
Call doc.Save(True, True)
Set responsedoc=responsecol.GetNextDocument(responsedoc)
Feldzahl=Feldzahl+1
Loop
Call doc.Save(True, True)
End Sub
Vielen Dank für Eure Hilfe!!
Marco