Alogrithme et @Formules

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Alogrithme et @Formules

Messagepar Cyril Niang » 02 Mars 2011 à 16:10

Bonsoir,

Je plante depuis deux jours sur les opérateurs logiques OU/ET ...
Je dois afficher ou masquer un champ suivant des conditions sinon en afficher un autre second qui est calculé avec la formule du premier (Cas d'un workflow)

CHAMP1 (Modifiable) :
Code : Tout sélectionner
@IsNotMember("[DGX]";@UserRoles) & @IsNotMember("[DC]";@UserRoles) & (total="") & (quinze="")

Explications : Si l'utilisateur n'est ni DGX, ni DC et que total et quinze sont vides => il faut cacher le champ

CHAMP2 (Calculé) :
Code : Tout sélectionner
@IsMember("[DGX]";@UserRoles) & @IsMember("[DC]";@UserRoles) & (total="") & (quinze="")

Explications : Si l'utilisateur est DGX ou DC et que total et quinze sont vides => il faut cacher le champ

Là j'ai le rôle DS et il m'affiche quand même CHAMP1, qu'est-ce que j'ai loupé ?

Merci!
Dernière édition par Cyril Niang le 03 Mars 2011 à 13:56, édité 3 fois.
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Michel Nico » 02 Mars 2011 à 16:25

Est ce que tu teste ton appli en local ?
As tu vérifié que Userrole te renvoie bien la liste de tes rôles.
Si tu est en client lourd fait attention au cache

Ton code pour le champ 2 est pas juste : il faut faire (@IsMember("[DGX]";@UserRoles) | @IsMember("[DC]";@UserRoles)) & (total="") & (quinze="")
Michel Nico
Posteur néophyte
Posteur néophyte
 
Message(s) : 60
Inscrit(e) le : 18 Jan 2011 à 17:19
Localisation : Toulouse

Messagepar Cyril Niang » 02 Mars 2011 à 16:36

Je suis en client lourd et l'appli est sur le serveur!
Comment vérifier que le UserRoles me renvoie bien la listes ? Je suis dans les propriétés du champ
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Cyril Niang » 02 Mars 2011 à 16:43

Bon je suis parvenu à résoudre mon problème avec des @If imbriqués!!
Merco
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Cyril Niang » 03 Mars 2011 à 13:51

Re,

Je me permet de remonter mon sujet, car l'option de passer par des @If imbriqués, ne satisfait pas entièrement mes conditions.
Code : Tout sélectionner
@If(total="";@Success;
@If(quinze="";@Success;
@If(@IsNotMember("[DC]";@UserRoles);@Success;
@If(@IsNotMember("[DGX]";@UserRoles);@Success;@False))))


J'ai placé ce code dans un champ caché afin "d'évaluer" la formule; Résultat, le champ m'affiche "[DGX]" alors que j'ai le rôle [DC].

Ce n'est pas censé être l'équivalent d'un ELSE ? Normalement, le champ doit être affiché car je dois "arrivé" au @False or ce n'est pas le cas.
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar

Messagepar Cyril Niang » 03 Mars 2011 à 13:55

C'est bon j'ai trouvé mon erreur :

Bonne version :
Code : Tout sélectionner
@If(total="";@Success;
@If(quinze="";@Success;
@If((@IsNotMember("[DC]";@UserRoles) & @IsNotMember("[DGX]";@UserRoles) );@Success; @False))))


Désolé d'avoir ré-ouvert le sujet!!
Cordialement

Image
Cyril Niang
Roi des posts
Roi des posts
 
Message(s) : 719
Inscrit(e) le : 16 Déc 2004 à 11:14
Localisation : Dakar


Retour vers Développement

cron