Domino 9 und frühere Versionen > ND6: Entwicklung

EditMode und newInstance

(1/1)

Dynadrate:
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

--- Code: ---@Command([EditDocument];"0");
@Command([Compose];"childDoc")
--- Ende Code ---
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:

--- Code: ---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

--- Ende Code ---

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.

ata:
... schau mal in der Hilfe nach ws.EditDocument( ) - da gibt es einen Parameter, ob eine neue Instanz geöffnet werden soll...

Toni

koehlerbv:
Markus, schreib einen Namen unter Deine Posts! Viele Leute sind mittlerweile einfach uninteressiert an Problemen von Leuten, die nicht mal ihren Namen nennen (ich zähle explizit dazu).

Zu Deinem Problem:
Warum willst Du überhaupt das Haupt-Dokument neu Öffnen? Kannst Du nicht triggern, dass dieses nach Erstellung des Antwort-Dokuments neu geladen wird? Ein Weg wäre, das Antwort-Dokument über eine Dialogbox zu erstellen, aber wie wir es eben schon in einem anderen Thread hatten: Viele Wege führen nach Rom ...

Bernhard

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln