Domino 9 und frühere Versionen > ND8: Entwicklung

Frontend-Backend Probleme

<< < (2/3) > >>

Peter Klett:
Probier das mal so (ungetestet)

--- Code: ---Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
   If Source.EditMode Then
      Exit Sub
   End If
   Continue = False
   Dim doc As NotesDocument
   Set doc = Source.Document
   Dim unid As String
   unid = doc.UniversalID

   doc.SaveOptions = "0"
   Call Source.Close
   Delete doc

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   Set doc = db.GetDocumentByUnid (unid)
   
   Dim workspace As New NotesUIWorkspace
   Call workspace.EditDocument (True, doc)
End Sub

--- Ende Code ---

pram:
Da die Lock-Funktionen von Notes hier nicht ausreichend sind, machen wir das ähnlich wie André geschrieben hat,

allerdings funktioniert das erneute Holen über getDocumentByUNID nicht immer. (Delete doc erforderlich, was wieder neue Probleme bereitet)
bei uns gibt es deshalb zu jedem Dokument noch ein kleines Lock-Dokument in dem der aktuelle Status des Dokumentes gespeichert ist (wer hat das Dokument offen und seit wann, wann wurde es gespeichert....)

Beim Wechsel in den Bearbeiten-Modus wird dann mit Hilfe des Lock-Dokuments geprüft, ob in der Zwischenzeit das Dokument anderweitig gespeichert wurde oder sogar noch offen ist.
Das Suchen und Finden des Lock-Dokumentes funktioniert dabei über die UNID die in einer definierten Art und Weise abgeändert wird (z.B. eine Stelle austauschen), somit ist keine zusätzliche Lookup-Ansicht erforderlich und die Dokumente könnten auch in einer eigenen "Lock-Datenbank" liegen, die von allen Servern erreichbar ist.

Gruß
Roland

sja:
Lieber Peter,
das ist es, super! Funktioniert!
Herzlichen Dank! Du hast mich gerettet.

Und herzlichen Dank an alle beteiligten! Ich bin unendlich dem ATNOTES dankbar, hier habe ich schon viel Mals ganz wirksame Hilfe bekommen! Und ich denke auch, dass die Information in diesem Vortrag auch für vielen anderen sehr hilfreich wird.

Liebe Grüße

Sofia

sja:
aber dazu auch nicht vergessen:

Sub Postmodechange(Source As Notesuidocument)
   Source.Reload
End Sub

ohne Reload funktioniert es nicht.

 :)

Sofia

sja:
Stop,

leider die Freude war zu früh, funktioniert nicht immer. Werde weiter testen und berichten.
Schade  :(

Sofia

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln