You are viewing limited content. For full access, please sign in.

Question

Question

How divided a Form into two or more stages?

asked on June 21, 2024 Show version history

I have a use case for a form (Business Licenses Application) that needs to be divided into two stages. However, in the end, it is a single form.

In the first stage, the user must submit certain information and also make a tax payment. Subsequently, the form should go to an internal worker who will review all the information to ensure it is correct. If approved, the customer must receive some type of link or something that allows them to continue to the second stage of the form.

In the second stage, the client must provide additional information, which will then go to an internal worker who will review if all the information is correct and send it to a supervisor for final approval.

Is there any way in which a form can be divided into two or more stages, where the client can interact in both stages, after each step of information is reviewed internally, and everything is processed as a single process or form in the end?

I'm using Self - hosted version 11

Thank you advice. 

0 0

Answer

SELECTED ANSWER
replied on June 21, 2024

No problem.  If its an external client, the task assignment won't work as you can only assign tasks to licensed users and I'm assuming you aren't providing licenses to external submitters.  If you only using simple fields that you can populate from a lookup, I would suggest storing the initial responses in a database table and using one or two unique variables to populate the form from a look up rule once it goes back to the initiator.  You will need to add in a trigger though so they form knows when to trigger the lookup.  I suggest once its approved you have workflow add in the instanceID to the form in a single field and use that as part of the unique URL.  Use that as part of your lookup rule.  If you have more radio buttons and checkboxes that need to be repopulated and the values cannot be placed in a single field, I can send you the JS script and a guide on how to set it up.  Again you will need to save data in SQL but you don't need a column for each variable with this solution.  

1 0

Replies

replied on June 21, 2024

You can put all the information you need to collect on one form and use show/hide rules based on the step in the process the form is in.  Or you could make a copy of the 1st form, add the additional information to it and use it in the step where the form is returned to the initiator.  The original collected data will carry over (I suggest make that read only so they can't make changes after the original approval) once the additional approval is complete, this would be the form you would save.   

2 0
replied on June 21, 2024

Hi Angela, thank you very much for your answer.

Sorry for asking some questions about what you said, since this part of returning to the initiator is where I am a little confused.

Let's assume that the form as you propose has the first stage visible to the client, and the second stage hidden. When the client in the first stage sends the form, the form will be received by a member of the work team who will internally review the information that the client sent. So, my biggest question is how do I return the same form that he started to fill out to the initiator so that he can complete the second part? Suppose a week has passed since that first stage has happened, how can I send the form back to the initiator so that the second stage can continue? Is there a way to generate some type of unique link that is linked to that form so that it can be completed, or how would that work?

0 0
replied on June 21, 2024

To put it simply, you can just assign the same form at each unique step throughout the business process, and check the box to email users when the task is assigned or reassigned. (You would do this by adding a user task to your process diagram, and selecting the form for that task.)

Then, as Angela mentioned, you can use show/hide rules, as well as enable/disable (read only) for each step/stage in your process.

1 0
replied on June 21, 2024

If the initiator is internal then you can simply assign the task back to them with a design like this:

 

 

If they are external, you will need to create a unique link that is emailed to them.  You can do this by capturing unique information like the InstanceID, a person email address, etc.  Instead of the User Task use an email task and have the link available there combining the variables and values.  Ex: yourformlink/?UniqueID={/dataset/UniqueID}&EmailAddress={/dataset/EmailAddress}.

You can use the variables to call a lookup rule to repopulate fields but it only works for certain types of fields like single line or data.  If you have radio buttons or checkboxes you would need a JS to pull in data and use an array to repopulate the form.  I can send you a script and some instruction on how to set that up if that is what you are needing.

1 0
replied on June 21, 2024

Thank you very much for your explanation, at this moment I have to leave the office due to a personal emergency, but as soon as I return I will try to apply your recommendation and I will let you know if I was able to make it work. In my case, the client is external, that is, it is a public form to be filled out by any resident of the city who wants to apply for a business license.
Thank you very much for your graphic example, and all the time you have taken to provide me with the explanation.

0 0
SELECTED ANSWER
replied on June 21, 2024

No problem.  If its an external client, the task assignment won't work as you can only assign tasks to licensed users and I'm assuming you aren't providing licenses to external submitters.  If you only using simple fields that you can populate from a lookup, I would suggest storing the initial responses in a database table and using one or two unique variables to populate the form from a look up rule once it goes back to the initiator.  You will need to add in a trigger though so they form knows when to trigger the lookup.  I suggest once its approved you have workflow add in the instanceID to the form in a single field and use that as part of the unique URL.  Use that as part of your lookup rule.  If you have more radio buttons and checkboxes that need to be repopulated and the values cannot be placed in a single field, I can send you the JS script and a guide on how to set it up.  Again you will need to save data in SQL but you don't need a column for each variable with this solution.  

1 0
replied on June 24, 2024

Hi Luis,

I'm doing something very similar to Angela, where we are sending a Forms link to an external customer for them to complete. This is actually initiated by an internal staff member. In our case the External link is actually a Public Form. To prevent unexpected use, I have rule that if some of the fields (which are hidden) get prepopulated in the initial URL are not poplulated, a warning is shown and the Submit button is hidden. This also prevents staff members starting the form incorrectly.

 

1 0
replied on June 25, 2024 Show version history

Hi Angela, sorry, respond now, I had a family problem that I'm dealing with, but I'm back. Yes, the client is people who live in the city who need to apply for licenses. Regarding what you told me, could you give me the JS code, as well as how to create an SQL database for this case? Sorry for asking so much, I'm relatively new to Laserfiche.

 

Thank you

0 0
replied on June 25, 2024 Show version history

Hi Stewart, can you give a example how do it? 

 

Thank you.

0 0
replied on June 25, 2024

Send me an email (agoerner@coppellisd.com) and I can walk you through what you will need based on your form collection and help you setup the JS.

0 0
replied on June 26, 2024

Hi Luis,

A little bit of background context. We have a new supplier Form. For security & compliance reasons, we want the process to be initialed by an employee. This Form also has a bunch of prompts to ensure the supplier doesn't already exist.  Lets call this Form1, and it is a restricted form. at this point we capture key supplier information.

The challenge we had was our suppliers don't have a Laserfiche Licenses, so they can only initiate a new process. Our solution was to create a second process that the Supplier starts. Lets call this Form2

 

To initiate a supplier to complete the process, After Form1 is completed, it emails the supplier with a unique URL for Form2 that includes parameters on how to apply to be a supplier. The URL includes

  • which internal staff member started the process, (variable=R)
  • the requesting instance ID (variable=RID)
  • and the Internal CustomerID, if it exists. (variable=CustID)

 

Refer to the Code below.

https://laserficheFormsServer/Forms/xxxxx?R={/dataset/Requested_By}&RID={/dataset/_instance_id}&CustID={/dataset/CustID}

On Form2 these parameter Fields are hidden, but the data is always saved. In addition to the data we want a new supplier to complete there is a CustomHTML element that has a disclaimer that this process must be initiated by one of our employee's and if the new supplier wishes to be a new supplier, to contact their point of Contact.

Form2 has a field rule, that looks at the prepopulated parameters, and if they are emtpy, shows the CustomHTML and hides any input fields.

This is a summary, as there are a bunch of other notifications and user tasks required, but the reason for passing some of the addititonal information to make the accounts team life easier and to also notifiy the initial requestor when the new supplier setup is complete.

I have attached a few screenshots which should help visualise whats happening.

 

Form1 - Process.jpg
Form1 - preview.jpg
Form2 - Rule.jpg
Form2 - preview - no parameters.jpg
Form2 - preview - correct parameters.png
Form2  - Process.jpg
1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.