Hallo Zusammen,
folgendes Problem wollte ich schon seit langem angehen.
Wir haben eine relativ grosse Dokumentationsdatenbank mit der auch relativ viele User arbeiten. Regelmässig passiert folgendes:
Benutzer A öffnet ein Dokument im lesemodus.
Benutzer B öffnet das gleiche Dokument, wechselt zur Bearbeitung und ändert das Dokument. Und er schließt das Dokument wieder.
Danach wechselt Benutzer A in den Bearbeitungsmodus und hat den gleichen "alten" Stand des Dokuments wo die Änderungen von Benutzer B fehlen. Speichert nun Benutzer A auch haben wir einen Replizier- und Speicherkonflikt.
==> Verdammt.
Wie lässt sich das verhindern?
Eine Idee war im QueryModechange das nachladen zu erzwingen, etwa so:
'Variablen
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim docid As string
' Wenn von Lesen auf Bearbeiten gewechselt werden soll...
If Source.EditMode = False Then
' Aktuelles Dokument merken
docid = Source.Document.Universalid
Set db = Source.Document.Parentdatabase
' UI Dokument schließen
Source.Document.SaveOptions = 0
Call Source.Close(True)
' Dokument wieder holen
Set doc = db.Getdocumentbyunid(docid)
If(Not doc Is Nothing) then
' Gemerktes Dokument im Bearbeitungsmodus öffnen
Call ws.EditDocument(True, doc)
End if
' ModeChange nicht zulassen
QueryModechange = False
End If
Alles anzeigen
Leider klappt das so nicht, denn doc ist nach db.Getdocumentbyunid(docid) noch genauso auf dem alten Stand wie vorher.
Lässt sich das irgendwie erzwingen das er das Dokument aktualisiert??
Wie löst ihr sowas?
Vielen Dank!
lg
Thomas