Domino 9 und frühere Versionen > Entwicklung
Felder vergleichen
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