Domino 9 und frühere Versionen > Entwicklung
Funktionsabhängige Ansichtsauswahl mit @UserRoles?
SaSaWu:
Hallo, ich habe da ein Problem mit einer funktionsabhängigen Ansichtsauswahl:
In den Dokumenten einer Datenbank lege ich das Feld 'Rolle' in Abhängigkeit der Funktion des Benutzers fest.
Bsp.: Der Inhaber der Funktion [OE100] legt ein neues Dokument an, das Feld 'Rolle' im Dokument erhält den Wert 100.
In einer Ansicht möchte ich nur Dokumente anzeigen, die zur Funktion des Benutzers gehören. Wenn der Benutzer also die Funktion [OE100] besitzt, sollen nur Dokumente mit dem Wert 100 im Feld 'Rolle' angezeigt werden. Dies wollte ich über folgende Ansichtsauswahl erreichen:
ro1 := @If(@Contains(@UserRoles;"[OE100]");"100";"200");
SELECT (Rolle = ro1)
Anscheinend funktioniert der Befehl '@UserRoles' nicht in der Ansichtsauswahl!?!
Wer kann mir helfen?
Glombi:
Hi,
ist das eine private Ansicht? Falls nicht: Die (öffentlichen) Ansichten werden vom Server berechnet, also wird dann auch für den Server @UserRoles ausgewertet.
Andreas
SaSaWu:
Nein, es ist eine öffentliche Ansicht! Geht trotzdem nicht!!!
koehlerbv:
Wie Andreas schon schrieb: Eben WEIL es eine öffentliche Ansicht ist, geht es nicht.
Wenn Deine DB nur relativ wenige Doks enthalten wird, kannst Du tricksen: Füge Deine Ansicht eine verborgene Spalte hinzu mit @Today (oder irgend etwas anderes zeitabhängiges). Das zwingt den Server dazu, die Ansicht bei jedem Öffnen neu aufzubauen (Performanceproblem!) und wertet so die @UserRoles des gerade anfragenden Clients aus.
Ansichten "Common, private after first use" haben dieses Problem nicht, aber einen grossen Nachteil: Sind sie vom User das erste Mal verwendet worden, programmierst Du Dir 'nen Wolf, um spätere Ansichtsänderungen durchzuführen.
Vielleicht gäbe es aber auch noch ganz andere Lösungen: Wozu sollen denn die User Roles-abhängig unterschiedliche Doks sehen ?
Bernhard
MadMetzger:
@UserRoles funktioniert nicht in der Ansichtsauswahl. Steht in der Noteshilfe drin.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln