Creating form from user entry

Good day All,

Im been tasked with something Im not really sure on how to complete.

I have a cleaning procedures app. This app has machines in it.

What is being requested is that the HACCP Cordinator is able to create His own cleaning checklist from within the app. "This checklist will than be completed by others for the matching machine.

He wants to be able to take a picture and add a question, do this multiple times for a certain machine. This would be a cleaning procedure for the machine, so just a child table a part of the machine where one can add images and descriptions/Questions.

How would I take that Child table and transform it into a form in some way.

Thanks,

A slice would be the solution, with the appropriate filtering mechanisms.

1 Like

Wouldn’t this just be a child table to a machines table? Which you’ve already mentioned. What exactly is the issue?

1 Like

The issue is I have a table. (Child table of the machine)

Columns
id - Image - Note

Admins will be able to edit this table.

The Cleaners will not have access to this but they must go through a form to confirm the above was done, so it will show an image, the note and a simple confirmation (Yes or no, or whatever). They will do this every day on the form that the admin “created”

So I have the child table etc all set up, just need to make it turn into a form dynamically. IF the admin changes items in the table, add more requirments etc, the form changes. Etc

You mention “Checklist”, “Images” and “Form”. So there are some things that need confirmed.

I understand the part about the coordinator entering images, descriptions and questions and capturing that info as input for someone else use - basically instructions?

Where I am a little confused is in what way do you expect the second person to use this information.

  • Will it be a checklist that they just mark when they have completed each step?
  • A form where they enter responses to questions?
  • A combination of the two?

I am asking because, if the coordinator is entering images, I presume those are for the second person to refer to. BUT, you would not be able to show them on a Form. So you would need some other UI idea to present them

I think there are ways to accomplish what you are requesting just need to zoom in on a UI design approach.

1 Like

Exactly,

It will pretty much be a checklist that can be checked off by the second person. Some items will be instructions, so they dont need to be completed by the second person, but some items will need to be verified.

So basically you’re wanting to have repeatable instances of a list of tasks, that can be checked off.

The child table you already have is your tasks per machine.
Go ahead and set the Label for this table as both the image and the text.

Make a second child table per machine. In this table create an EnumList column, base type Ref pointing to the tasks table, and set a valid_if condition to give a list of task records just for that machine.

Now you have a checklist of all tasks for that machine.

Does this work for you?

1 Like

You are wanting some of your app users (the HACCP Coordinator) to be able to define his own questionnaires (cleaning checklists) from within the app.

These sort of applications are usually better suited for NOSQL databases where there isnt a rigid predefined table structure as exist in relational databases. AppSheet, as you know, uses relational databases.

That said, it is possible within some constraints. Me and some other AS developers discussed this here:


All I will say is that, if the checklists your HACCP Coordinator is looking to produce are simple (all y/n question), then this is certainly possible. If he wants more complexity, then it will still be possible, but at a certain point I would view it as impractical. Exactly where that cutoff lies is for you to decide. :wink:

EDIT

Here is the link to a sample application which could allow app users to define their own yes or no checklists (bips), up to 20 questions, by adding question schemas (bip_templates):

Note the above is a stripped down version of an app I use, hence the weird terminology. Maybe I will clean it up and make it a better generic sample for the community.

2 Likes

Here’s what I think I would do. This is all very generic, so please ask questions.

Plan to create a Deck view to show each Child table line as a Deck row. The Deck row has the image as the Main Image, your instruction as either the Header or Secondary header, then you can have Actions for user interactivity right on the row

If the row is a question then show the “Thumbs Up” and “Thumbs Down” icons as Actions to answer the question.

Maybe the question requires input, you could have an Action that then launches a Form with just that one question and request the user’s response.

To “complete” the line item, have a Check Mark Action the user taps.

To help out the Deck Row display and activity, update the Child table rows to:

  • Gather input from the coordinator to help with display. For example, capture that this is a Yes/No question so the Deck Row knows to show the “Thumbs Up” and “Thumbs Down” Actions.

  • Capture the resulting answers and actions by the users so you can easily show the result back to the coordinator in his view.

I hope this all makes sense!

EDIT: I may have missed the re-useable part! You can capture the results into another table so that the original coordinator’s row are left untouched.

4 Likes

Thank you, this makes sense to me but seems like a alot of work, I will try @WillowMobileSystems approach first :slight_smile:

2 Likes

Amazing, I think I will try to implement this and Ill get back to you will questions. It all makes sense, im just not to good with all the formulas, will be back for sure :smiley:

Thanks,

2 Likes

Awesome,

Stuck on an item. in my cleaning list I’ve added a column “Complete”
So when the user uses to action to finish an item, the action goes away. and the item turns green so they know what they have completed.

What I’m trying to do now is set an action on the main machine table, each machine has the related cleaning tasks. I have an action to “Start Cleaning procedure” this is supposed to reset all related cleaning tasks for this machine to incomplete.

This is the formula I am using but does not seem to work, (“its is valid though”)
The tables related to this formula are Machines and Cleaning Requirements. when cleaning requirements are part of each machine.

Select(Cleaning Requirments[id], [_THISROW].[machine Name] =[Machine Name])

Any suggestions?

By they way, you haven’t said exactly what doesn’t work.

I am not seeing anything wrong with the setup you have. So I can only question two things:

  1. Are all names spelled correctly? (i would expect an error if not - unless you changed and saved too quickly. :slight_smile:)

  2. Are there actually rows that match by the machine name? (Look for differences in spelling)

Have you used the Parent/Child “Is part of” switch to join these two tables?
Is Machine Name the parent table key column?

It would be helpful to show screen shots of the “Machines” Table and the “Cleaning Requirments” table.

1 Like

Ok the app is finished. its decent. How do I make it public? It was a good Learning experience.

Congrats! What does “public” mean for you?

Idk, so other people can see it play around with it, copy it, etc. I mean its not perfect yet, I can think of allot more functionality, but it shows what appsheet can do.

1 Like

I mean on the appsheet site:), I have allot of apps that are deployed and are used daily already ha.

1 Like
2 Likes