Here are some examples of common requirements and how they've been solved:
- Set attachments to be visible and required for certain absence types; use the outputs Attachments_Visible and Attachments_Enabled in the Edit personalization formula. You can also change the label based on the absence type selected, for example, Attachments_Label='Sick Evidence'.
- Add some text that dynamically shows based on the absence type selected. You can make this tip text relevant to that particular absence and also include a hyperlink to online policy documentation. Consider using the formula output Absence_Type_Id_Description in your Edit personalization formula to achieve this.
- Hide or show flexfield attributes based on the absence type selected; often customers have many flexfield attributes defined for absence entry but only one or two are relevant to each absence type. For example, Attribute7_Visible = 'true'.
- Make the End date required based on the absence type selected. For example, Date_End_Required = 'true'.
The above examples can improve the quality of absence requests and guide the user to make accurate requests the first time, reducing the chance of requests being rejected or returned for correction.
Example: making sickness entry more usable
Here’s an example Fast Formula fragment that configures sickness entry based on requirements to:
- Link to Sickness policy pages when the sickness absence type is selected
- Make attachments mandatory
- Put some additional tip text for attachments
- Show the absence reason
- Set the absence reason's list based on a value set containing all sickness reasons
- Make a flexfield attribute mandatory (assume here it's not required in the flexfield attribute's definition)
- Change the prompt and tip text for absence duration
- Make the end date optional to allow for open-ended sickness entry
... If upper(Absence_Type_Value_in) = '123' Then ( Absence_Type_Id_description = 'View Sickness Policy <a href="http://intranet/policies-and-procedures/hr/leave-sickness-and-absence/sickness-absence">here.</a>' Abs_Attendance_Reason_Id_Visible = 'true' Abs_Attendance_Reason_Id_List_Provider = 'VALUE_SET_NAME:XXX Sickness Reasons' Attribute1_Visible = 'true' Attachments_Required = 'true' attachments_Description = '<font color="#FF4000">You must upload a scanned copy of the Sick Note supporting this absence</font>') Absence_Days_label = 'Working Days Lost' Absence_Days_description = 'Enter working days lost in full or half days. Enter 0.5 for a half day.' Date_End_Required = 'false' ) ...
All the above form field properties would need to be returned in the Return statement for them to take effect.