Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Karotte am 04.03.03 - 13:09:43

Titel: @useraccess
Beitrag von: Karotte am 04.03.03 - 13:09:43
So Suche hat wie immer nix gebracht:
habe jetzt in einer Gliederung @useraccess nutzen wollen, leider ist ja das Beispiel in der Hilfe, ganz doll weil ich weiss immer noch nicht wie ich nun was abfrage ;)

Problem: ich bekomm ja über UserAcess werte zurückgeliefert (je nach zugriffsrecht), wie setz ich das aber nun ein ?, sprich wie mache ich dem Gliederungseintrag erstmal klar ob er von nem Manager oder von nem Leser aufrufbar ist? (btw: anzeigbar) Sprich was mach ich mit den zurückgelieferten Werten, und wie setz ich die nun ein (ich hoffe das ich mich einigermaßen verständlich ausgedrückt habe)
Titel: Re:@useraccess
Beitrag von: Rob Green am 04.03.03 - 13:20:31
zB

useraccess spuckt ja ne ganze Menge aus (alles TEXT übrigens).
Du benötigst nur die erste Angabe.
Das bekommt man mit @subset(...;1) heraus.
Die 1 steht für den ersten Eintrag von links.

RECHT:=@subset(@UserAccess( @DbName );1);
CHECK:=@if(
RECHT="6";"MANAGER";
RECHT="5";"ENTWICKLER";
"NIEDERE WESEN")

oder als Zahlenvergleich...

RECHT:=@subset(@UserAccess( @DbName );1);
RECHTZAHL:=@texttonumber(RECHT);
CHECK:=@if(
RECHTZAHL=6;"MANAGER";
RECHTZAHL=5;"ENTWICKLER";
"NIEDERE WESEN")

Soweit klar?
Dann für die HideWhen etwas eingedampfter
@texttonumber(@subset(@UserAccess( @DbName );1))<5

heißt..wenn User weniger als Entwickler (5) ist, verstecke dies und jenes.

aus der Help nochmals zu Useraccess
Code
Rückgabewert
Ebene : Dokumente erstellen : Dokumente löschen : Pers. Agenten erstellen : Pers. Ordner/Ansichten erstellen : Gemeins. Ordner/Ansichten erstellen : LotusScript/Java-Agenten erstellen : Öffentliche Dokumente lesen : Öffentliche Dokumente schreiben
Textliste.
Ebene ist eine Zahl von 1 bis 6 zur Kennzeichnung der Zugriffsebene.
   Ebene   Zugriffsebene des Benutzers
   1   Archivar
   2   Leser
   3   Autor
   4   Editor
   5   Entwickler
   6   Manager

"3";"1";"1","1","1","0"  = Author mit Recht Docs zu erstellen....
Titel: Re:@useraccess
Beitrag von: Karotte am 04.03.03 - 13:25:36
Hmm woher war mir nur klar das ich noch ein haufen drumherum programmieren muss ;-)

Und wo hack ich die "abfragen" rein? in ein eigenes (script?)fenster oder kann ich für das alles in das formelfenster reinknallen ?

Hmm und mal sehen wann ich mich daran gewöhnt habe keine variablen mehr zu definieren, sondern das ich die so locker flockig einbauen kann.

Titel: Re:@useraccess
Beitrag von: Rob Green am 04.03.03 - 13:28:44
jedes ELEMENT in Notes (so zB die Gliederung) hat eine EIGENSCHAFT. Diese wird über ein Dialogfenster angezeigt. Da wo Du zB den Namen der Gliederung eingegeben hast. Die LASCHE MIT DEM ROLLE verbirgt die Formel fürs Verstecken...HIDE WHEN.
Hab ich übrigens schon gestern reingechrieben, wo es steht...hihi...Notes ist gut im Verstecken von Features  ;)
Titel: Re:@useraccess
Beitrag von: Karotte am 04.03.03 - 15:19:19
So nun habe ich folgendes eingetragen:

@texttonumber(@subset(@useraccess( @dbname);1))!=6

positiv: notes meckert nicht
negativ: Ein Nutzer mit Zugriffsrechten 1-5 sieht trotzdem den Eintrag (warum ???)

2tens: gibt es ein pedant zum fenster schliessen, ich will ja nicht die Datenbank schliessen sondern wieder zur Rahmengruppe zurück
Titel: Re:@useraccess
Beitrag von: Karotte am 04.03.03 - 15:26:13
So nun habe ich folgendes eingetragen:

@texttonumber(@subset(@useraccess( @dbname);1))!=6

positiv: notes meckert nicht
negativ: Ein Nutzer mit Zugriffsrechten 1-5 sieht trotzdem den Eintrag (warum ???)

2tens: gibt es ein pedant zum fenster schliessen, ich will ja nicht die Datenbank schliessen sondern wieder zur Rahmengruppe zurück
Titel: Re:@useraccess
Beitrag von: Axel am 04.03.03 - 16:12:18
Hi,

hast du das Häcken vor "Auswahl verbergen, wenn Formel wahr" gesetzt.

Ohne dieses Häcken kannst du da eintragen was du willst, es wird nicht funktionieren. Die Formel selbst sieht auf den ersten Blick richtig aus.

Axel
Titel: Re:@useraccess
Beitrag von: Karotte am 04.03.03 - 16:21:41
Hmm häkchen ist gesetzt, habe mich jetzt unter mehreren ID's angemeldet die laut zugriffsberechtigung auf default (=Leser) laufen, trotzdem sehen die auch versteckte Gliederungspunkte
Titel: Re:@useraccess
Beitrag von: cpo am 04.03.03 - 16:55:12
Hi,

wenn ich HW-Formeln habe, die nicht machen, was sie sollen (Notes "vergisst" die Dinger auch manchmal, merkt man erst nachdem man das Designelement echt geschlossen hat - wupps - weg ist die Formel  :o ), dann packe ich mir dat Förmelsche in einen Button auf einer Maske und lasse mir das Ergebnis erstmal in einem @Prompt anzeigen.

Wenn das das korrekte Ergebnis gibt, weiß ich wenigstens, daß die Formel etc. in Ordnung ist und nur die HW-Eigenschaften mal wieder spinnen  :P

CPO
Titel: Re:@useraccess
Beitrag von: Rob Green am 04.03.03 - 17:09:05
alter Fehler No.1: wenn man lokal an einer DB arbeitet, ist man IMMER Manager.

Ausweg: in die ACL gehen, Lasche Erweitert wählen und dort Haken bei "Konsistente ACL..." wählen.
Titel: Re:@useraccess
Beitrag von: Karotte am 04.03.03 - 17:18:29
Die Datenbank liegt aber bei mir aufn Server und das mit der ACL ist auch schon drin, aber irgendwie gehts nicht (oder ich bin zu blöd und hab irgendwo nen Fehler in der Formel)

Titel: Re:@useraccess
Beitrag von: Rob Green am 04.03.03 - 18:26:41
rofl..
habs gerade in der Knowledge Base nachgeschlagen:

http://www-1.ibm.com/support/docview.wss?rs=475&context=SSKTWP&q=outline+hide+when&uid=swg21087509&loc=en_US&cs=utf-8&lang=en
und
http://www-1.ibm.com/support/docview.wss?rs=475&context=SSKTWP&q=outline+hide+when&uid=swg21093856&loc=en_US&cs=utf-8&lang=en

Heißt?
Nimm statt @useraccess lieber @userroles. Siehe HELP DB dazu.
Titel: Re:@useraccess
Beitrag von: Karotte am 05.03.03 - 07:09:19
So habs jetzt ein wenig anders gemacht, habe meine versteckten Gliederungen entfernt und stattdessen in den "Seiten" Schaltflächen angelegt, da gehts mit Hide_When und UserAccess

Trotzdem danke ;)