pour les XPages, ils sont revenus à quelquechose de plus naturel : visible si
en attendant, soit tu fais un !( visible si )
soit tu maitrises les | les & les ! et les combinaisons de tout ça
quelques pistes :
visible si A ou B <=> masquer si !A & !B
visible si A et B <=> masquer si !A ou !B
pour ta question "L'évaluation de la formule se fait pour chaque condition ou pour l'ensemble des conditions ?" la formule est évaluer en entier
surtout si c'est un &
dans le cas où c'est un | , si la première condition est vraie, je ne sais pas si l’interpréteur évalue la seconde ou pas, car dans l'absolu, il peut faire l'économie de ce test car quelque soit le résultat, le | sera vrai
Si tu veux que ton bouton s'affiche pour les users qui ont le role A ou le role B ou le role C, mais uniquement si le champ A est vide et le champ B non vide
Ca se traduit en visible si
( @IsMember([roleA]; @UserRoles) | @IsMember([roleB]; @UserRoles) | @IsMember([roleC]; @UserRoles) ) & champA = "" & champB != ""
et donc en masquer si
! ( ( @IsMember([roleA]; @UserRoles) | @IsMember([roleB]; @UserRoles) | @IsMember([roleC]; @UserRoles) ) & champA = "" & champB != "" )
équivaut à
! ( @IsMember([roleA]; @UserRoles) | @IsMember([roleB]; @UserRoles) | @IsMember([roleC]; @UserRoles) ) | champA != "" | champB = ""
équivaut à
( !@IsMember([roleA]; @UserRoles) & !@IsMember([roleB]; @UserRoles) & !@IsMember([roleC]; @UserRoles) ) | champA != "" | champB = ""
après, il me semble qu'il y a une subtilité entre le @IsNotMember et !@IsMember
si tu le 1er argument une chaine ca doit être équivalent. mais si c'est une liste, ca ne l'est plus
voir l'aide pour plus d'infos ...
http://www-12.lotus.com/ldd/doc/domino_ ... enDocumenthttp://www-12.lotus.com/ldd/doc/domino_ ... enDocument