Autor Thema: Dokumente Aus- und Einchecken  (Gelesen 2098 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