Domino 9 und frühere Versionen > Entwicklung
XOR mit Formelsprache
Christian97:
Hallo,
ich möchte eine Schältfläche für verschiedene User verbergen.
Die User sind den Zugriffsfunktionen [Gruppe1] und [Gruppe2] zugeordnet.
Der Button soll nicht angezeigt werden, wenn der User keiner der beiden Gruppen zugeordnet ist. Er soll aber angezeigt werden, sobald ein User entweder Gruppe1 oder Gruppe2 Mitglied ist. Es gibt aber keinen Benutzer, der beiden Gruppen gleichzeitig zugeordnet ist.
Ich brauche also sowas wie eine XOR Funktion, da das normale ODER (|) sonst alle User aussperrt, die nicht in beiden Gruppen eingetragen sind.
Habt Ihr eine Idee oder einen geeigneten Workaround?
Rob Green:
vPos1:=@if(@ismember("ABC";Feld1) & !@ismember("ABC";Feld2);1;0);
vPos2:=@if(!@ismember("ABC";Feld1) & @ismember("ABC";Feld2);1;0);
vResult:=vPos1+vPos2;
@if(vResult>0;"OK";"NJET")
Test auf "ABC":
Feld1 = ABC
Feld2 = ABC
vPos1 = 0
vPos2 = 0
=> njet
Feld1 = ABC
Feld2 = XYZ
vPos1 = 1
vPos2 = 0
=> ok
Feld1 = XYZ
Feld2 = ABC
vPos1 = 0
vPos2 = 1
=> ok
Feld1 = 123
Feld2 = XYZ
vPos1 = 0
vPos2 = 0
=> njet
müßt passen also, oder hab ich was übersehen auf die Schnelle?
meichhorner:
Hy,
ungefähr so:
@IsNotMember("[Gruppe1]";@UserRoles) & @IsNotMember("[Gruppe2]";@UserRoles)
Cu
Martin
Jörg P.:
Unter der Voraussetzung, das du von Benutzerrollen redest:
Probier doch mal folgendes:
@IsNotMember("[Gruppe1]";@UserRoles) & @IsNotMember("[Gruppe2]";@UserRoles) ;
Christian97:
Vielen Dank Euch dreien!
@Rob
Deine Lösung ist GENAU DIE, die ich wollte. Vielen Dank!!
@meichhorner, Harvey:
Eure Lösung ist leider keine XOR Variante, sondern nur das normale logische ODER. Dort ist wahr, wenn mindestens eins der beiden wahr ist, also auch, wenn beide zutreffen. Das logische XOR (umgangssprachlich "entweder oder") ist nur dann wahr, wenn die beiden Aussagen verschieden sind. Und das war, was ich suchte.
Vielen Dank!
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln