Hallo zusammen
Folgende Situation: Es wird mit Haupt- und Antwortdokumenten gearbeitet. Die Antwortdokumente werden in einer eingebetteten Ansicht in der Maske des Haupdokumentes dargestellt.
Im Hauptdokument wird mit
@Command([EditDocument];"0");
@Command([Compose];"childDoc")
ein neues Antwortdokument erzeugt.
Nachdem das Antwortdokument geschlossen wurde, soll das Hauptdokument neu geladen werden und im Editmodus zur Verfügung stehen (Grund: Im Antwortdokument werden Eingaben gemachtm die Felder im Hauptdokument beeinflussen). Wohlgemerkt soll keine neue Instanz des Dokuments erzeugt werden (also kein neuer Tab, ihr wisst schon was ich meine). Dazu habe ich im QueryClose des ChildDocuments folgende eingefügt:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim s As New notessession
Dim db As notesdatabase
Dim uiws As New notesuiworkspace
Dim doc As notesdocument
Dim uidoc As NotesUIDocument
Set db=s.CurrentDatabase
Set uiDoc = uiws.CurrentDocument
'Rücksprung nur, wenn dieses Doc bereits gespeichert wurde
If uidoc.IsNewDoc=False Then
Set doc = db.GetDocumentByUNID(source.Document.getfirstitem("$REF").values(0))
Delete uidoc
Call uiws.EditDocument( True , doc , False , , ,False )
End If
End Sub
Problem ist, das wenn ich ein neues Hauptdokument anlege, darin ein neues Antwortdokument erzeuge und dieses schließe, eine neue Instanz erzeugt wird. Dieses "verbiete" ich jedoch explizit mit sechsten Parameter von uiws.EditDocument = false.
Seltsamerweise funktioniert der Code wie gewünscht, wenn ich anschließend das Hauptdokument schließe, darin das AntwortDoc öffne und wieder schließe. Dann wird korrekterweise der Focus auf die vorhandene Instanz des Hauptdokumentes gelegt - jedoch nicht im Editmodus, wie gewünscht.