Autor Thema: bestimmte Dokumente sollen aus der Ansicht heraus nicht aufrufbar sein  (Gelesen 1721 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
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

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Hi,

So auf den ersten Eindruck scheint dies wieder ein typischer Fall fuer die schon so oft angesprochenen Leser- und Autorenfelder zu sein.

Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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


Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
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?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Vielen Dank für Deine Antwort.

Ich habe jetzt im Postopen den Script mit der Anweisung zum Schließen des Dokuments eingebracht:

Sub Postopen(Source As Notesuidocument)
   Dim session As New NotesSession
   Dim user As String
   user = session.CommonUserName
   Dim feld As String
   feld = Source.FieldGetText("txtVerantwMA")
   If feld <> user Then
      Source.close
   Else
      Continue = True
   End If
End Sub

Ist das Ganze im QueryOpen und nur mit "Continue = False" wird zwar die Bearbeitung unterdrückt, aber der User kommt trotzdem ins Dokument.
Das ist bei meinem Script jetzt nicht mehr der Fall.

Gruß, Wiesel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz