Best way to allow multiple inputs during a form

Hi AppSheet Gurus,

I'd previously made an app for a field services company. They use the app to track jobs for their engineers who go on site, do a pre-determined piece of work. Take some photos and go onto the next one.

We've got some new contracts come through which are effectively the same end goal but there's a slight change in the process that I am now trying to accommodate in Appsheet. 

The jobs are now split into two parts, scoping and then delivery. When the engineer goes out to scope the job, they'll identify a list of parts that are needed to do the job. This is from a pre-determined list of parts available.

The scope of each job is pre-determined as well, but the parts needed are not always the same (even for the same scope).

The job then additionally has multiple areas that have parts needed. So there will be a list of parts for a Pole, Streetlight, Transformer etc. 

Previously we would just do a paper based scoping form, where the engineer would write down manually the parts and the quantity required for each part. So we replicated that in AppSheet, with a longtext field where the engineer just manually writes down the parts.

What we want to do, to help automating ordering the parts after scoping is have AppSheet allow the user to enter the parts in the app. I'm struggling to find a good way to implement this though.

I was hoping I could just have a "table view" mid way through the form that would allow to select from the pre-determined list of parts, and enter a quantity for each but haven't been able to find a way to do this.

I then thought I'd use another form to do so. So I made another table, which referenced the job number and then listed the parts and let the users enter a quantity. After saving one row, it would re-open the form and allow them to repeat the process so they could add multiple parts to new table, then hit cancel and return back to the main form. The problem I have here is I can't seem to link to this new view from within the existing form? I have an action which will open the form, but can't make it link from within an existing form? I can only see the action button from the detail view.

Just want to see if anyone has had something similar, or have any recommendations on how to tackle this?

TIA.

Solved Solved
2 4 1,365
1 ACCEPTED SOLUTION

Like @lynchk21 mentioned, adding in a child table to hold the parts would help a lot.

The advice that I generally give is to avoid using sub-forms - that being a form that you enter from inside another form.  These have traditionally been an unstable element in AS, what I call a "see-saw bug."

  • They deploy, and it breaks
  • We tell them, they fix it.
  • They deploy, it breaks
  • We tell them, etc. etc. 

And if you're building mission critical software that you company is running on, I can't build using something that will only work SOME times.  Am I right?

So my advice in situations like this is to "re-center the point of interaction" from the Form to the Detail view of the parent record.

So the flow goes like this:

  1. Go into the parent form to start the data collection process, entering anything that might be required there (most should likely be set by initial values, so most times you can actually skip the first form and just create the new record and go directly to the detail view).
  2. Then on the form save event having a deep link action to take you to the detail view of the record you just saved.
  3. Now that you're on the detail view, you can use this as your base of operations - your center of interaction. 
    • From here you can see the list of child records
    • You can create buttons to help along the way
    • You can create virtual columns that dynamically create a ToDo list
    • etc.

By re-center the point of interaction to the detail view, you free yourself form the limitations of operating inside a form and opening up a lot of functionality possibilities.

Hope it helps!

___________________________________________________________________________________________
Next time, engage with Appster to get questions faster!
- You can chat with the LITE VERSION of Appster in ChatGPT.
- Gain access to the FULL VERSION by signing up at www.MultiTechVisions.com/answers (Main Menu > Support Tiers)

View solution in original post

4 REPLIES 4

If you have the separate table for the parts and have a reference column that references the job number like you mentioned, you can set the reference column to be โ€œis a part ofโ€ and that allows you to add multiple child records (parts) directly in the parent table form (jobs?). This then will allow you to accommodate a variety of differing parts for each job since the user can just add a record for whatever parts they need. No long list of predetermined parts required. 

Like @lynchk21 mentioned, adding in a child table to hold the parts would help a lot.

The advice that I generally give is to avoid using sub-forms - that being a form that you enter from inside another form.  These have traditionally been an unstable element in AS, what I call a "see-saw bug."

  • They deploy, and it breaks
  • We tell them, they fix it.
  • They deploy, it breaks
  • We tell them, etc. etc. 

And if you're building mission critical software that you company is running on, I can't build using something that will only work SOME times.  Am I right?

So my advice in situations like this is to "re-center the point of interaction" from the Form to the Detail view of the parent record.

So the flow goes like this:

  1. Go into the parent form to start the data collection process, entering anything that might be required there (most should likely be set by initial values, so most times you can actually skip the first form and just create the new record and go directly to the detail view).
  2. Then on the form save event having a deep link action to take you to the detail view of the record you just saved.
  3. Now that you're on the detail view, you can use this as your base of operations - your center of interaction. 
    • From here you can see the list of child records
    • You can create buttons to help along the way
    • You can create virtual columns that dynamically create a ToDo list
    • etc.

By re-center the point of interaction to the detail view, you free yourself form the limitations of operating inside a form and opening up a lot of functionality possibilities.

Hope it helps!

___________________________________________________________________________________________
Next time, engage with Appster to get questions faster!
- You can chat with the LITE VERSION of Appster in ChatGPT.
- Gain access to the FULL VERSION by signing up at www.MultiTechVisions.com/answers (Main Menu > Support Tiers)

Thanks for the input.

I've added another table for the "orders" which allows the team to enter, from the Detail view, another form view to add the parts. The form auto re-opens to allow them to enter more than one at a time, and it then adds to the second table and I can order based on that. Then add a ref column from the job to the second table so it shows up under the detail view what they've added to order.

I'm a bit lost on ref columns so need to do some messing around. I'm not certain how it identifies which row relates to the original job. So on my 'main' table, each row has a specific key, but that key doesn't exist / match on the second table. I have to mess with those some more to see if I can figure it out.

I think my plan is to take the detail view and add buttons to enter mini forms to add data to the jobs. I just need to work out how I create the additional tables / references to match it all up and make it display properly.

Thanks everyone for the help - appreciate it.

I managed to get the REF_ROWS to work. I was missing that there had to be some way to reference that one row belonged between tables, so with different keys it's not necessarily possible (which should be obvious to me now I think about it). I ended up copying as part of the forms that open to enter data, the key from the original data over to the additional sheets.

 

Now my REF_ROWS work, i've got a bunch of lookups to match data and provide data back and the app as a whole is just MUCH more user friendly. Trying to do it in one continuous long form was a nightmare, and I'm glad I made the change to this new method. Thanks again for pointing me in the right direction.

Top Labels in this Space