Hallo,
ich wollte mal kurz nachfragen, ob folgends Szenario jemanden bekannt ist und wie man sich das erklären kann.
Ich habe in einer DB (Domino 6.5.4) eine Maske A und eine Antwort Maske B.
Jetzt gibt es eine Ansicht, wo Dokumente mit Maske A und die Antwortdokumente von B angezeigt werden. Nun soll es in der Anwendung so sein, dass wenn eine Antwortdokument (also Maske B) geöffnet werden soll, das korrespondierende Hauptdokument mit Maske A im Editmodus geöffnet werden soll.
Soweit auch nicht das Problem, denn es gibt zum einen das $REF Feld und ich habe eindeutige Nummern, mit denen ich die Referenz herstelle.
Jetzt aber zu dem Problem.
In der Maske B habe ich folgenden Code im PostOpen Event:
ZitatAlles anzeigen
Sub Postopen(Source as Notesuidocument)
Dim uiws As New NotesUiWorkspace
Dim session As New NotesSession
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim uidoc As notesuidocument
Dim formula As String
formula = "@LowerCase(Form) = ""Maske A"" & Nummer = " & Chr(34) & Source.Document.Nummer(0) & Chr(34)
Set col = session.CurrentDatabase.Search(strFormula, Nothing, 0)
If col.Count = 1 Then
Set doc = col.GetFirstDocument
Set uidoc = uiws.EditDocument(True, doc)
Call Source.Close
End If
Das klappt auch soweit. Ich will ein Doc mit Maske B aufmachen, das zugehörige Dokument A wird geöffnet (im Editmodus) und B geschlossen.
Wenn der Benutzer nun Dinge ändert und speichert, kommt die Meldung, dass eine Kopie des Dokuments gespeichert wurde, während ich es bearbeite. Und ich könnte ein Konfliktdokument erstellen.
Das "Lustige" ist nun, wenn ich in folgender Zeile das True durch false ersetze (also nicht mehr im Edit Modus öffne), geht alles wunderbar.
Zitat
Set uidoc = uiws.EditDocument(False, doc)
Ich lasse das jetzt erst mal so, muss der Benutzer halt auf Edit klicken. Nicht weiter schlimm, aber komisch finde ich das schon.
Zumindest habe ich keine plausible Erklärung dafür.
Vielleicht hat ja jemand eine Idee?