Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gruenkohl am 01.08.05 - 16:29:03
Titel: View aus der das Dokument geöffnet wurde
Beitrag von: Gruenkohl am 01.08.05 - 16:29:03
Hallo zusammen,
ist es möglich, herraus zu finden, aus welcher View das aktulle Dokument geöffent wurde. Ich möchte verhindern, dass aus einer bestimmten View eine best. Maske nicht geöffnet werden darf.
Ich habe es im Queryopen des Dokuments versucht aber konnte nicht auf die View zurgeifen. Aus dem Queryopendokument der View habe ich es auch nicht geschafft.
Danke und Gruss Andreas
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: Glombi am 01.08.05 - 16:42:39
Es geht mit @ViewTitle.
Du kannst es mit einem Feld machen, welches Berechnet zur Anzeige ist: @If( ViewName = ""; @If(@Elements(@ViewTitle) > 1;@Subset(@ViewTitle;-1);@ViewTitle); ViewName )
ViewName ist dann der Name des Feldes. Da @ViewTitle Mehrfachwerte liefert, wenn die Ansicht einen Alias hat, verwende ich @Subset, um nur den Alias zu haben.
Andreas
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: koehlerbv am 01.08.05 - 16:43:28
Code
Sub Queryopen (Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim uiview As NotesUIView
Set uiview = ws.CurrentView
Msgbox uiview.Viewname
End Sub
Das wäre eine Variante. Sag mal an, was Du überhaupt bezwecken willst. Irgendwelche Sicherheit kannst Du so ja auf jeden Fall nicht einbauen.
Bernhard
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: Gruenkohl am 01.08.05 - 16:51:48
@koehlerbv:
Jeder Benutzer kann Dokumente erstellen und bearbeiten. Aber nur seine eigenen. Ich habe den Benutzern persönliche Ansichten erstellt, so dass sie nur ihre eigenen sehen und somit nur bearbeiten können.
Nun gibt es aber für den Anwendungs-Administrator eine Ansicht "Alle Dokumente". Er soll hier aber Dokumente die mit einer best. Maske erstellt sind nicht bearbeiten können.
Ich denke am sichersten wäre es, wenn ich mit Autorenfeldern arbeiten würde oder? Es soll aber die Möglichkeit geben, das Dokument später noch von jemand anderem zu bearbeiten oder zu löschen. Kann ich dafür einfach ein zweites Autorenfeld anlegen, mit einer Gruppe oder Rolle? Was wäre am Sinnvollsten?
Danke und Gruss Andreas
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: Semeaphoros am 01.08.05 - 16:56:25
Autorenrecht für die Benutzer, Autorenfelder und Leserfelder ist das, was dafür vorgesehen ist. In einem Autorenfeld können mehrere Namen, Gruppen oder Rollen eingetragen werden (wenn es als multivaluefeld definiert wird). Du kannst das aber auch mit mehreren Autorenfeldern machen. Schau Dich mal in den Best Practices um, da gibts von Matthias einen Artikel zur Sache.
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: Gruenkohl am 01.08.05 - 16:58:00
Super, danke. Werde ich machen.
Titel: Re: View aus der das Dokument geöffnet wurde
Beitrag von: koehlerbv am 01.08.05 - 17:00:10
Ja, auf jeden Fall Autorenfelder - und in Deinem Fall vermutlich auch Leserfelder.
Ins Autorenfeld kommt bei der Erstellung des Dokuments der Name des akt. Users sowie mindestens eine Rolle, die dann Leuten mit dieser Rolle die Möglichkeit gibt, dieses Dokument auch bearbeiten zu können (Admin oder was auch immer). Nicht vergessen, auch den Servers diese Rolle zu geben ;)
In das Leserfeld schreibst Du den Namen des Erstellers oder weitere Personen, Gruppen - oder wenn machbar - Rollen. Das Leserfeld brauchst Du nur, um den Lesezugriff zu verhindern, ansonsten gilt: Wer schon im Autorenfeld ist, ist automatisch auch Leser. Mindestens ein Eintrag muss aber im Leserfeld stehen.
Sowas über ein einfachst knackbares "Verhindern" des Öffnens einer Maske zu machen, wäre sträflicher Leichtsinn.