Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: botschi am 25.05.07 - 15:08:58

Titel: Verbergen-Wenn bei gem. Aktionen
Beitrag von: botschi am 25.05.07 - 15:08:58
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
Titel: Re: Verbergen-Wenn bei gem. Aktionen
Beitrag von: Axel am 25.05.07 - 15:30:47
Hast du es mal mit @Username versucht?

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



Axel
 
Titel: Re: Verbergen-Wenn bei gem. Aktionen
Beitrag von: botschi am 25.05.07 - 16:03:34
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)
Titel: Re: Verbergen-Wenn bei gem. Aktionen
Beitrag von: botschi am 25.05.07 - 16:29:38
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