Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Hi all,
I'm creating an interface that records and calculates the working hours for employees, the idea is if the working hours are less than 8 it should display: " Working hours are incomplete " , and if it was less than 0 it should display: " insert your working hours correctly please "
I made this expression, but when the value is less than 8 even it was less than 0 it always display : " Working hours are incomplete "
here's the expression:
{ a!richTextItem( if( ri!WorkingHours = "8", "Working hours are complete", if( 8 > ri!WorkingHours > 0, "Working hours are not complete", if( ri!WorkingHours < 0, "insert working hours correctly please" ) ) ) )
Discussion posts and replies are publicly visible
Multiple conditions in Appian can be configured using or() & and() functions.
a!richTextDisplayField( value: { a!richTextItem( if( ri!WorkingHours = "8", "Working hours are complete", if( and(8 > ri!WorkingHours, ri!WorkingHours > 0), "Working hours are not complete", if( ri!WorkingHours < 0, "insert working hours correctly please", {} ) ) ) ) } )
Using the amazing match function.
a!richTextDisplayField( value: { a!richTextItem( a!match( value: ri!WorkingHours, equals: 8, then: "Working Hours are complete", whenTrue: and(ri!WorkingHours > 0, 8 > ri!WorkingHours), then: "Working hours are not complete", default: "insert working hours correctly please" ) ) } )
Thanks for your help, but when I tried the code I got this: Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function 'if' [line 64]: Invalid number of parameters, function 'if' a minimum of 3 parameters (condition,true,false), passed 2.
try this
a!richTextDisplayField( value: { a!richTextItem( if( ri!WorkingHours = "8", "Working hours are complete", if( and(8 > ri!WorkingHours, ri!WorkingHours > 0), "Working hours are not complete", "insert working hours correctly please" ) ) ) } )
Ali Abdulqawi
I missed the third parameter in the last if. You can add an empty list there. I have updated the same code
its because the third if only have two parameters in it
if( ri!WorkingHours < 0, "insert working hours correctly please" )
if( ri!WorkingHours < 0, "insert working hours correctly please", "working hours passed limit" )
Thanks, it's working now, but I'm wondering should I use three conditions every time I want use if statement?
can't I use two only?
it just show the default message even when the user inserts 8, or 4
Did you take a look at Ujjwal's answer? I think it is a better approach.
workings hours as 8
working hours as 4