Domino 9 und frühere Versionen > ND7: Entwicklung

Verbergen-Wenn bei gem. Aktionen

(1/1)

botschi:
Ich habe eine gemeinsame Aktion, die in unterschiedlichen Ansichten enthalten ist.
Sie soll aber nur für die User angezeigt werden, die in einem Feld eines Profildokuments stehen. Es können mehrere Einträge in dem Feld des Profildokuments sein.

Warum funktioniert meine Formel nicht?

@If(
 @ViewTitle = "(Alle zu genehmigenden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"wergenehmigt");@UserNamesList);
  0;1);
 @ViewTitle = "(Alle auszuliefernden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"werausliefern");@UserNamesList);
  0;1);
 @ViewTitle = "(Alle zu mappenden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"werpersil");@UserNamesList);
 0;1);
 @ViewTitle = "(Alle von QQQ zu prüfenden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"werqqq");@UserNamesList);
  0;1);
 @ViewTitle = "(Alle von WWW zu prüfenden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"werwww");@UserNamesList);
  0;1);
@ViewTitle = "(Alle von AAA zu prüfenden Anträge)";
  @If(@IsMember(@GetProfileField("Profildokument";"weraaa");@UserNamesList);
  0;1);
@ViewTitle = "(Alle im ERD zu aktualisierenden Anträge)";
@If(@IsMember(@GetProfileField("Profildokument";"wererd");@UserNamesList);
  0;1);
 1)

Kann mir jemand helfen?
Danke und Gruss,
Matthias

Axel:
Hast du es mal mit @Username versucht?

So auf den ersten Blick sieht die Formel eigentlich richtig aus.



Axel
 

botschi:
Ich habs so gemacht und es scheint zu funktionieren:

_1 := @GetProfileField("Profildokument";"wergenehmigt");
_2 := @GetProfileField("Profildokument";"werausliefern");
_3 := @GetProfileField("Profildokument";"werpersil");
_4 := @GetProfileField("Profildokument";"qqq");
_5 := @GetProfileField("Profildokument";"www");
_6 := @GetProfileField("Profildokument";"aaa");
_7 := @GetProfileField("Profildokument";"wererd");

@If(
 @ViewTitle = "(Alle zu genehmigenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _1);
  1;0);
 @ViewTitle = "(Alle auszuliefernden Anträge)";
  @If(@IsNotMember(@UserNamesList; _2);
  1;0);
 @ViewTitle = "(Alle zu mappenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _3);
  1;0);
 @ViewTitle = "(Alle von QQQ zu prüfenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _4);
  1;0);
 @ViewTitle = "(Alle von WWW zu prüfenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _5);
  1;0);
@ViewTitle = "(Alle von AAA zu prüfenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _6);
  1;0);
@ViewTitle = "(Alle im ERD zu aktualisierenden Anträge)";
  @If(@IsNotMember(@UserNamesList; _7);
  1;0);
 0)

botschi:
Aber in Script scheint es wiederum nicht zu funktionieren:

' Phase für Genehmigen prüfen
   ivFormel = |@GetProfileField("Profildokument";"wergenehmigt")|
   ivnamen = Evaluate(ivFormel)
   
   If gvBackendAntrag.status(0) = gvProfil.phase1(0) Then
      Feld = "wergenehmigt"
      ivFormel = |@IsMember(@UserNamesList;| & ivnamen & |)|
      ivEvalFormel = Evaluate(ivFormel)
      If ivEvalFormel(0) = 1 Then
         Call gvFrontendAntrag.FieldSetText("genehmigung_bearbeiten", "1")
      End If
   End If

ivNamen hat natürlich mehrere Einträge und bei der Zeile
ivFormel = |@IsMember(@UserNamesList;| & ivnamen & |)|
gibts dann einen TypeMismatch!

Matthias

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln