Hello,
In going through some recent posts about Forms I began thinking about how often I need to build out multiple forms in a business process simply because some information should only be seen or edited by certain users.
As a result, I think it could be beneficial to add some functionality in the field rules that would allow us to show/hide not just based on values, but also based on which task is using the form.
To provide a use case,
Let's say I have an HR form that an employee completes and I include a section to be completed by HR. The only difference between step 1 and step 2 is the presence of this "HR Use Only" section.
Currently, unless I build out some custom JavaScript to populate a hidden field on submission or something along those lines, I need two separate forms: One without the "HR Only" section, and one that displays the additional fields/section.
Instead, it would be nice if I could set a Field Rule along the lines of
"Hide ____ WHEN Task IS Starting Form"
or
"Show ____ WHEN Task IS User Task 1"
I envision the new field rule condition pulling a list of any activities that use a form (Starting Form, User Task, Save To Repository, etc.) from the business process so we could reuse the same form in multiple steps but still control who sees what fields based on the task/step; this would really help simplify maintenance on some simpler processes because field changes wouldn't require updating multiple forms and we could build a more dynamic form that works across multiple steps.
As a secondary request, it would also be nice to have some kind of conditional read-only or required setting.
As an example, if a user selects Option A in Field 1, then Field 2 is populated with a lookup or default value and I don't want them to change it, but if they select Option B, I want them to be able to manually enter information into Field 2.
Along those same lines, if a user selects Option A, then I must have a value in Field 2, but if they select Option B, then Field 2 is optional so it still needs to be presented to the user, but it is not required.
This could possibly be tied into to the previous request so I could make a specific field/section read-only in step 2 but still allow data entry in step one without separate forms or making everything on the form read-only for the second step.
Currently, the only way I can accomplish either of these is to use separate forms and/or use multiple fields for the same values, utilize JavaScript or Functions to put the values into a "consolidated" field, or use custom JavaScript to "manually" change the required or read-only attributes based on user selections.