Zugriffschutz auf Dokumentenebene

  • das hatte ich schon:


    ....
    Set doc = db.CreateDocument
    doc.form = "Unterschrift"
    doc.Subject = "Unterschrift"
    Call workspace.EditDocument(True, doc)
    Call doc.Save( True, True )
    ....


    --> "Dort setzt du dann einen Verweis auf das Originaldokument". Wie? Sorry, bin am lernen...

  • Z.B. indem du in ein Feld noch die UNID des Originaldokumentes schreibst. Die bekommst du per NotesDocument.UniversalID.


    Oder du schreibst da irgendeinen anderen eindeutigen Schlüssel des Originaldokumentes hinein

  • mittels:


    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim workspace As New NotesUIWorkspace
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument
    Set db = session.CurrentDatabase
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
    Call doc.Sign
    doc.signatur_annehmen = doc.Signer()
    doc.ui = doc.UniversalID()

    Call doc.Save( False, True )


    erhalte ich die Fehlermeldung "Datenbank enthält bereits ein Dokument mit dieser ID."


    Code wird durch Button im erzeugten Dokument ausgeführt.

  • Es ist kaum zu fassen :o) : habe jetzt mittels @Command([Compose];"":"";"Unterschrift") ein Antwortdokument erstellt. Dieses Antwortdokument soll jetzt nur der Ersteller sehen und bearbeiten können. Habe jetzt brav Autor- und Leser-Felder gemacht, in die mittels Button und Code "doc.speicher_autor = doc.Signer()" die Einträge richtig geschrieben werden.


    Eine Fremdperson kann jetzt zwar an diesem Antwort-Dokument nichts mehr ändern, es kann jedoch von ihr geöffent werden. Und das muss ich noch verhindern. Die Fremdperson hat in der ACL "'Autor"-Rechte und auf die Maske eine Rolle, die ihr das Lesen erlaubt. Ich dachte, wenn im Autoren- und Leser-Feld die Unterschrift einer anderen Person enthalten ist, dann werden alle anderen Personen ausgesperrt.


    Wo liegt der Fehler bzw. wie kann ich das Lesen verhindern?


    Danke!

  • Zeigt leider keine Wirkung. Habe Autorenfeld gelöscht. Drittperson kann das Dokument aber immer noch öffnen.
    Das bearbeitbare Leser-Feld speicher_leser wird mittels Button und doc.speicher_leser = doc.Signer() beschrieben.
    Liegt es an der Rolle, an der ACL, oder...?


    Danke

  • Lsg wäre evtl, wenn ich das Feld Benutzer aus dem Hauptdokument ansprechen, bzw mittels doc.speicher_leser = doc.benutzer(0) eintragen könnte. Maske hat Zugriff auf alle Felder.
    Wie muss das programmiert werden, damit auf das Hauptdokument zugegriffen und der Feldinhalt dann geschrieben werden kann...