Autor Thema: Dokumente Aus- und Einchecken  (Gelesen 2224 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Dokumente Aus- und Einchecken
« am: 18.10.02 - 11:12:45 »
Hallo Leute,

hat da jemand eine Idee dazu, oder ist das Lotus immanent nicht möglich :
Ich möchte Dokumente, die von anderen User in Bearbeitung sind sperren, oder zumindest einen Hinweis an den User geben:
"Dieses Dokument ist bereits in Bearbeitung."

Kann ich im QueryOpen Ereignis einen Feldwert setzen,
das Dokument speichern (ohne es zu schliessen) ?

für jede Idee dankbar
ps: Um das Problem zu vernfachen, die DB wird zentral gehalten und User sollen sich keine Replik anlegen
Don Pasquale
« Letzte Änderung: 18.10.02 - 11:19:41 von Don Pasquale »

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:Dokumente Aus- und Einchecken
« Antwort #1 am: 18.10.02 - 11:28:04 »
hi,

zufällig habe ich gerade etwas über sperren von doc gelesen.
du müsstes aber ein bisschen arbeiten:
gehe in die such -> gebe ändern ein -> im unteren drittel hatte ich ein riesen script gesehen, welche diese function hat.

cu

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Dokumente Aus- und Einchecken
« Antwort #2 am: 18.10.02 - 11:30:16 »
schau mal da:
http://searchdomino.techtarget.com/tip/1,289483,sid4_gci765142,00.html

und auf dieser Seite kannst Du noch viel mehr Beispiele sehen, tipp dazu in Search einfach mal "lock" ein
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:Dokumente Aus- und Einchecken
« Antwort #3 am: 18.10.02 - 11:33:51 »
hier doch sowas?

Code
Hallo,
ich weiß auch, dass da was nicht stimmt.
Ich habe aber schon mal ein bisschen experimentiert und herausgefunden, dass diese "Vorgabemaske nicht gefunden"-Dokumente erstellt werden, wenn ich ein neues Dokument erstellen will, es nicht speichere wenn ich das Fenster schließe. Danach habe ich diese Dokumente. Dies passiert auch bei anderen Datenbanken, die das gleiche Skript enthalten.
Ich schreib euch mal was für Skripte überhaupt in meinen Masken sind:
Sub Postopen(Source As Notesuidocument)
     Dim sess As New NotesSession
     Dim doc As NotesDocument
     Dim thatUser As String
     Set doc = source.document
     If Source.EditMode Then
           If doc.HasItem("LockEdit") Then
                 Source.EditMode = False
                 thatUser = doc.LockEdit(0)
                 Msgbox thatUser & " bearbeitet derzeit dieses Dokument. Solange dieser Benutzer es bearbeitet, können sie nichts ändern."
           Else
                 Call doc.ReplaceItemValue("LockEdit", sess.CommonUserName)
                 Call doc.ReplaceItemValue("LockEditTime", Now)
                 Call doc.Save(True, True)
           End If
     End If
End Sub
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
     Dim sess As New NotesSession
     Dim doc As NotesDocument
     Dim thatUser As String
     Set doc = source.document
     If Source.EditMode Then
           Continue = True
     Else
           If doc.HasItem("LockEdit") Then
                 thatUser = doc.LockEdit(0)
                 Msgbox thatUser & " bearbeitet derzeit dieses Dokument. Solange dieser Benutzer es bearbeitet, können sie nichts ändern."
                 Continue = False
           Else
                 Continue = True
                 Call doc.ReplaceItemValue("LockEdit", sess.CommonUserName)
                 Call doc.ReplaceItemValue("LockEditTime", Now)
                 Call doc.Save(True, True)
           End If
     End If
End Sub
Sub Querysave(Source As Notesuidocument, Continue As Variant)
     
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim parentUNID As String
     Dim ParentDocument As NotesDocument
     Dim sa As NotesItem
     Dim saValue As String
     Dim responses As NotesDocumentCollection
     Dim doc As NotesDocument  
     Set db = session.CurrentDatabase
     Set doc = Source.Document
     parentUNID = doc.ParentDocumentUNID
     Set ParentDocument = db.GetDocumentByUNID(parentUNID)
     Set responses = ParentDocument.Responses
     Set doc = responses.GetFirstDocument
     Do While Not doc Is Nothing
           Set sa = doc.GetFirstItem("SA")
           saValue = sa.Values(0)      
           If saValue = "ja" Then
                 ParentDocument.FeldName = "Ja"
                 Call ParentDocument.Save(True,True)
                 Exit Sub  
           End If
           Set doc = responses.GetNextDocument(doc)
     Loop
     ParentDocument.FeldName = "Nein"    
     Call ParentDocument.Save(True,True)
     
End Sub
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
     Dim sess As New NotesSession
     Dim doc As NotesDocument
     Set doc = source.document
     If doc.LockEdit(0) = sess.CommonUserName Then
           Call doc.RemoveItem("LockEdit")
           Call doc.RemoveItem("LockEditTime")
           Call doc.Save(True, True)
     End If
End Sub
Mfg Marco

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Dokumente Aus- und Einchecken
« Antwort #4 am: 18.10.02 - 11:48:10 »
@Rob,
Cool, da war ich ja auf der richtigen Fährte :-)

@Naddel
Danke, das scheint sogar eine aufgemotzte Version
von Rob´s Beispiel zu sein.


Euch Beiden Herzlichen Dank
Jetzt brauch ich bloss noch einen Kollegen
um das zu testen :-)

Ciao

Don Pasquale

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz