I am trying to create a form that keeps track of time-off requests and approvals. The original idea is to have a single form where each request is handled as a line in a table, and that has worked well but I have encountered some limitations.
Specifically, the system needs to allow users to have multiple requests, but the amount of time requested impacts the amount of time one can use in later requests. It is a reasonable assumption that users will be requesting time in both long-term and short-term time-frames.
As a practical example: I request a week off in September, at which time I will have earned at least 40-hours of time off. Then, after the September request is approved, I need to request two-days off in August, but by taking those two days I will no longer have enough hours for the requested time in September. The ideal goal is to create a system that will warn a user if a new request in the short-term impacts the predicted balance for the future request.
All of this spanning multiple form instances. The idea was, instead of tracking requests in tables in form instances, each request would be a form instance that is then referenced by the “Parent Form” and displayed in a table (thus looking and acting the same for the end user).
If each request is an individual form, the system can then use a workflow to track the state of each instance, notifications, approvals, changes, etc.
Also, I see this as an exercise in understanding the system.