Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Freezer am 01.12.03 - 10:35:08

Titel: "Hide when" mit "@UserRoles"
Beitrag von: Freezer am 01.12.03 - 10:35:08
Hallo!

Sorry, ich steh´ gerade auf´m Schlauch:
Ich möchte einen Eintrag verbergen, wenn der User nicht die RolleA, oder nicht RolleB besitzt. Dabei habe ich folgende "Hide - when Formel":

Zitat
@IsNotMember("[RolleA]"; @UserRoles ) | @IsNotMember("[RolleB]"; @UserRoles )

Leider wird immer nur auf RolleA abgeprüft. Muss ich statt "|" einen anderen "Oder - Operator" benutzen?

Gruß,
Freezer
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: Axel am 01.12.03 - 10:42:53
Hi,

versuch's mal mit der UND-Verknüpfung

@IsNotMember("[RolleA]"; @UserRoles ) & @IsNotMember("[RolleB]"; @UserRoles )


Axel
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: Freezer am 01.12.03 - 11:06:06
@Axel:
Jetzt funktioniert´s  :o ...

...aber eigentlich müsste es den Eintrag jetzt doch verbergen, wenn sowohl RolleA als auch RolleB zugewiesen sind, oder nicht?


Freezer
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: Axel am 01.12.03 - 11:56:55
Hi,

im Prinzip ja, aber in diese Falle mit den Verknüpfungen bin ich auch schon getappt. Eigentlich, von der Logik her, müsste es eine Oder-Verknüpfung sein, aber eine Und-Verknüpfung funktioniert und umgekehrt. Irgendwann habe ich es aufgegeben, es verstehen zu wollen.

Da beherzige ich den Spruch meines früheren Ausbilders:

"Alles was ihr nicht versteht, müsst ihr als gegeben hinnehmen."


Axel
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: Freezer am 01.12.03 - 13:00:41
Also gut!
Solange es so funktioniert werde ich mich dem Leitspruch deines Ausbilders anschließen und es als "Notes gegeben" hinnehmen.

Danke schön!

Freezer
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: Semeaphoros am 01.12.03 - 13:19:24
Nur so als kleiner Hinweis: Logischer "Reinflieger" aber präzise in der  formalen Logik definiert: Steht ein Nicht vor einem geklammerten Oder und man löst die Klammer auf, wird das Oder zum Und.

Man kann dabei auch Oder und Und austauschen und die Aussage ist immer noch richtig.

Und dann gelten natürlich noch die entsprechenden Umkehraussagen zum Bilden von Klammern in logischen Ausdrücken.

Nur so, falls Ihr suchen wollt, warum es Euch "falsch" erscheint, es hat damit zu tun und zeigt, dass logische UNDs und ODERs unter Umständen scheinbar "ausgetauscht" werden können.

Viel Vergnügen beim Hirnzerbrechen  ;D
Titel: Re:"Hide when" mit "@UserRoles"
Beitrag von: animate am 01.12.03 - 13:25:53
Solange es so funktioniert werde ich mich dem Leitspruch deines Ausbilders anschließen und es als "Notes gegeben" hinnehmen.

Entschuldigung, das hat nix mit "Notes gegeben" zu tun.
Es hat nur was damit zu tun, dass dein in Prosa formulierter Wunsch nicht ganz richtig in diese logische Operation umgestzt wurde.

Wenn du das mal genauer betrachtest (z.B. mit einer Wertetabelle), dann wirst du schnell sehen, dass deine Oder-Verknüpfung "True" ergibt, sobald der Benutzer mindestens eine Rolle nicht hat. Dann wird der Absatz verborgen.

Eine Lösung ohne logische Operationen wäre die mit Hilfe einer Liste:
@IsNotMember("[RolleA]":"[RolleB]"; @UserRoles )
(äh glaub ich jetzt zumindest, das mal so gemacht zu haben. Kann mich nimmer genua an die Funktionsbeschreibung erinnern)