Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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":
@IsNotMember("[RolleA]"; @UserRoles ) | @IsNotMember("[RolleB]"; @UserRoles )
Leider wird immer nur auf RolleA abgeprüft. Muss ich statt "|" einen anderen "Oder - Operator" benutzen?
Gruß,
Freezer
-
Hi,
versuch's mal mit der UND-Verknüpfung
@IsNotMember("[RolleA]"; @UserRoles ) & @IsNotMember("[RolleB]"; @UserRoles )
Axel
-
@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
-
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
-
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
-
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
-
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)