Domino 9 und frühere Versionen > ND6: Entwicklung

Feld mit Roles

(1/3) > >>

judicious:
Guten Morgen
Leider bin ich noch nicht so weit mit meinem Wissen um das folgende Problem selber zu lösen. Ich gebe mir aber Mühe, doch hier komme ich echt nicht weiter.
Also ich habe ein Feld und mehrere Roles. Jetzt möchte ich das wenn ein User in zwei Roles drin ist zb Gruppe1 und Gruppe2, dann soll er die Auswahl haben, Gruppe1 oder Gruppe2. Ist er jedoch nur in einer Role drin, zb Gruppe4, dann soll direkt stehen Gruppe4.
Wie löse ich sowas am besten?

Axel:
Hi,

schau dir mal die Formel-Funktion @UserRoles an. Die liefert eine Liste mit allen Rollen, die dem User zugeordnet sind. Als Feld würde ich ein Dialogfeld nehmen.

Axel

judicious:
sowas habe ich schon probiert. Doch es nimmt immer einfach den ersten Wert, ich bekomme gar nie eine Auswahl, auch wenn ich in mehr als einer Gruppe bin:
REM {This source defines the Business Unit from the Userroles};
@If(
      @IsNewDoc; @If(
                  @Contains(@UserRoles;"[BUA]");"A";
                  @Contains(@UserRoles;"[BUD]");"D";
                  @Contains(@UserRoles;"[BUE]");"E";
                  @Contains(@UserRoles;"[BUG]");"G";
                  @Contains(@UserRoles;"[BUR]");"R";
            ""
            );
      tmp_txBusinessUnit
)

Axel:
Hi,

das kann auch so nicht gehen. Für eine Auswahl brauchst du eine Liste.

Versuch's mal so:

REM {This source defines the Business Unit from the Userroles};
value := "";
@If(
                  @Contains(@UserRoles;"[BUA]");@Set("value";"A");
                  @Contains(@UserRoles;"[BUD]");@Set("value";value + " D");
                  @Contains(@UserRoles;"[BUE]");@Set("value";value + " E");
                  @Contains(@UserRoles;"[BUG]");@Set("value";value + " G");
                  @Contains(@UserRoles;"[BUR]");@Set("value";value + " R");
       ""
      );

@If(@IsNewDoc; @Trim(@Explode(value; " ")); tmp_txBusinessUnit)


Axel

koehlerbv:
Das wird so auch nix. Hinter dem @If wird immer nur erste zutreffende Bedingung ausgeführt.

Es müsste also heissen:
value1 := @If (@Contains(@UserRoles;"[BUA]");"A"; "");
value2 := @If (@Contains(@UserRoles;"[BUD]"); value1 + " D"; value1);
usw. (das ist die Notation, die auch zu R5 kompatibel ist).

Der Rest der Formel ist entsprechend anzupassen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln