Domino 9 und frühere Versionen > Entwicklung

Felder vergleichen

(1/2) > >>

pl001:
Hallo,

ich stehe vor folgender Problemstellung. Ich habe in einer Maske ein Namensfeld mit einem oder mehreren Werten (Personen aus dem Verzeichnis).

Nun möchte ich über LotusScript steuern, dass nur die in dem Feld eingetragenen Personen das Dokument bearbeiten können.

Bisher habe ich folgenden Lösungsansatz. Hier besteht nur ein Problem, wenn das Feld DocVisibly mehrere Einträge enthält und Nutzer nicht an erster Stelle in der Liste steht funktioniert.

Postopen
--- Code: ---Sub Postopen (Source As Notesuidocument)
Dim session As New NotesSession
Dim doc As NotesDocument
Set doc = Source.Document

If (Source.EditMode = True And (Instr(Doc.DocVisibly(0), session.Username) = 0)) Then
Source.EditMode = False 'This triggers the QueryModeChange event !
End If

End Sub
--- Ende Code ---

Querymodechange
--- Code: ---Sub Querymodechange (Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim doc As NotesDocument
Set doc = Source.Document

If (Instr(Doc.DocVisibly(0), session.Username) = 0) Then
Messagebox "Sie können dieses Dokument nicht bearbeiten", MB_ICONEXCLAMATION, "Achtung!"
If Source.EditMode = False Then
Continue = False
End If     
End If     

End Sub
--- Ende Code ---

Wie müsste der Vergleich des Aussehen, so dass es keine Rolle spielt, an welcher Stelle der Liste sich der Nutzer befindet.

Viele Dank
und viele Grüsse

Peter

Driri:
Verstehe ich nicht. Was spricht gegen die Verwendung von Autorenfeldern ? Oder sind in der Applikation höhere Rechte als Autorenrechte erforderlich ?

pl001:
Es geht darum, nur einzelne Dokumente zur Bearbeitung zu sperren. Der Autor soll natürlich auch ausgeschlossen werden können.

Wie kann man also prüfen, ob der Username im Feld 'DocVisibly' vorhanden ist?

Gruß
Peter

dirk_2909:
Forall strU in doc.DocVisibily
   if LCase( cstr( strU ) ) = LCase( session.UserName ) Then
        intOK = True
        Exit Forall
   end if

end Forall

if intOK Then
   ......
End if


... Aber warum Arbeitest Du nicht mit Rollen und Autorenfeldern.
Das macht die Sache doch leichter pflegbar etc.  ???

Dirk

Driri:

--- Zitat ---Es geht darum, nur einzelne Dokumente zur Bearbeitung zu sperren. Der Autor soll natürlich auch ausgeschlossen werden können.

--- Ende Zitat ---

Das beantwortet nicht meine Frage. Genau das wäre doch mit Autorenfeldern möglich. Den Ursprnugsautor eines Dokumentes kann ich doch genauso aus einem Autorenfeld entfernen, wie ich zusätzliche oder neue Bearbeiter hinzufügen kann.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln