Domino 9 und frühere Versionen > Entwicklung
bestimmte Dokumente sollen aus der Ansicht heraus nicht aufrufbar sein
Wiesel:
Hallo!
Ich habe eine Ansicht in der so alle Dokumente angezeigt werden.
Diese Ansicht soll für den User aber nur eine Übersicht darstellen.
Der User soll, wenn möglich, nur die Dokumente öffnen können, in denen er auch als verantwortlicher Mitarbeiter erfasst ist.
Bei allen anderen Dokumenten, soll, wenn der User versucht diese zu öffnen, eine Meldung erscheinen, daß er es nicht darf.
Ich habe dazu im Queryopendocument der Ansicht folgende Formel eingebracht:
Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim user As String
user = session.UserName
If uidoc.FieldGetText("namVerantwMA") <> user Then
Msgbox "Sie dürfen das Dokument nicht bearbeiten"
Continue = False
End If
End Sub
Das mit dem UIDocument war von mir nur ein Versuch. Aber wie Ihr Euch wahrscheinlich denken könnt, hat das nicht geklappt. Und ich weiß nun auch nicht weiter.
Freue mich über Hilfe.
Gruß, Wiesel
ascabg:
Hi,
So auf den ersten Eindruck scheint dies wieder ein typischer Fall fuer die schon so oft angesprochenen Leser- und Autorenfelder zu sein.
Andreas
Axel:
Du musst die Prüfung innerhalb der Maske machen und nicht in der Ansicht.
Hier gibt's Infos wie man so was machen kann: EditMode für bestimmte Dokumente verwehren
Die sicherste Alternative sind auf jeden Fall Autorenfelder.
Axel
Wiesel:
Ich arbeite mit Autorenfeldern. Also, das Bearbeiten von "unbefugten Mitarbeitern" ist bereits unterbunden.
Es gibt auch Ansichten, in denen jeder nur seine ihm zugeteilten Dokumente sieht.
Aber es soll eben eine Übersicht geben, in der Kerndaten aus den Dokumenten zur Information angezeigt werden. Aber der User soll nur die Informationen, die eben in der Ansicht gezeigt werden, sehen können. Er soll aber nicht in das Dokument reinkönnen, um noch weitere Daten zu sehen.
Kann ich dieses "in das Dokument reingehen" für "Unbefugte" verhindern?
Axel:
Die Prüfung muss in diesem Fall im QueryOpen-Event der Maske gemacht werden.
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim session As New NotesSession
Dim user As String
user = session.UserName
If Source.FieldGetText("namVerantwMA") <> user Then
Msgbox "Nix da!!"
Continue = False
End If
End Sub
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln