Hide when Formula required for a button in Lotus notes

Hello,

Hoping for some help with a hide when formula below which sits behind a "Approve" button within a workflow document.
-------
Current Hide when
Assign = ""|
@LowerCase(Assign) !=@LowerCase((@Name([CN];@UserName))) |
Status_K!=NULL

-----

This formula works OK for a single user in the "Assign" field which is on the form however when there are multiple entries seperated by a semi colon  i.e one of five people can approve the button remains hidden.

Not quite sure on how to do this in a formula argument . In english it would be something like :

if a your name is one of many listed in the assign field  seperated by a semi colon then unhide the button.

The answer can not be use a role as the assign field is dynamic i.e depending on who you are you will have different approvers.


Hoping you can help.

Thanks
ianmcalderAsked:
Who is Participating?
 
iPinkyConnect With a Mentor Commented:
try to exchange the part @LowerCase(Assign) !=@LowerCase((@Name([CN];@UserName)))

with !@ismember( @LowerCase((@Name([CN];@UserName))); @LowerCase(Assign) )
0
 
Sjef BosmanGroupware ConsultantCommented:
My guess... There is often a LOT of confusion about the formula to use as hide-when. I assume it's like that in this case. But actually, it is simple mathematical logic that you have to apply. I'll chop it up in digestible parts for you.

ismember:= @LowerCase(@Name([CN];@UserName))=@LowerCase(Assign);
isstatusok:= Status_K!=NULL;
showwhen:= ismember & isstatusok;
hidewhen:= !showwhen;

By the way, what is NULL? In formula language it doesn't exist, so it's assumed to be a variable without a value, probably with an empty string value. Hence it works. But someone evil could assign a value to NULL, e.g. NULL:= "0" and your formula will stop to work. Theoretically speaking of course...
0
 
mbonaciCommented:
One small suggestion, instead of
    !@IsMember

use
    @IsNotMember

It sounds better:
    "Hide when current user is not member of the field Assign"

@IsNotMember( @LowerCase( @Name( [CN]; @UserName ) ); @LowerCase( @Name( [CN]; Assign ) ) )
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
iPinkyCommented:
mbonaci: well.. if we go with tips: my all time best tip is to form the formula to "Show when" and put !( ) around it...

cause with this technique it's much easier (usually) to get the right formula, basically sjef_bosmans approach, which also lacks the last line: which would be "hidewhen"; (cause, obviously the last line is simply an assignment from showwhen to hidewhen, but the formula wouldn't know what to do with it and would basically always result return a "No main or selection expression in formula"
0
 
Sjef BosmanGroupware ConsultantCommented:
I merely explained mathematical logic, and I made all the intermediate steps... Of course it can all be written as one statement, as you suggested, using parentheses and without the 'variables', but that was beside my point.
0
 
ianmcalderAuthor Commented:
Thanks for your efforts !!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.