Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet 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
-
Hast du es mal mit @Username versucht?
So auf den ersten Blick sieht die Formel eigentlich richtig aus.
Axel
-
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)
-
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