how to make each row "REQUIRE?" in appsheet

Hi Appsheet community,

Thanks for reading this question.

I have a checklist which I made a calendar to generate tasks every week. Users go to the checklist to check a task in which the font color is changed from black to green. However, they sometimes forget to check all the tasks and hit the sync before ticking all of them. I even made tasks to be fade away after clicking instead of conditional formatting but still, users leave some tasks unticked accidentally.

The reason I am asking this question is I can not allocate a column for each task and make it "REQUIRE?". Each workstation has different tasks from each other and different frequencies on each workstation and also so many tasks to be ticked (+1000 tasks a day).

mohsenshahbaghi_0-1667535254246.png

I am looking for writing a function or app script to prevent users from syncing/saving and walking away before completing all the tasks.

For example, as soon as a user logs in and chooses a workstation and goes to a checklist, and ticks the first task, the system doesn't let the user save until all tasks get ticked off.  Users should be able to discard the ticked tasks in between to make minimum flexibility as well.

Your help in this regard is greatly apprecieated 

Solved Solved
0 8 172
1 ACCEPTED SOLUTION

My apps data schema is simiar to your Design 2.

 

View solution in original post

8 REPLIES 8

Its hard to understand exactly what you want.  But simplifying it, lets say you have 3 columns and if a user checks any one then they have to check them all.  These are the Required_IF formulas I'd use:

[Check A] = OR(ISNOTBLANK([Check B]),ISNOTBLANK([Check C]))
[Check B] = OR(ISNOTBLANK([Check A]),ISNOTBLANK([Check C]))
[Check C] = OR(ISNOTBLANK([Check A]),ISNOTBLANK([Check B]))

Hope this helps

Simon@1minManager.com

Hi Simon,

Thanks for your reply.

Some complexities made me design To do checklists like the following (Design 1) which is limiting the number of columns or spreadsheets. So my app is following design 1 logic (Task Name, Date timestamp, AreaID, User_Name, Completed).

mohsenshahbaghi_0-1667794961115.png

 

I could not find the following design helpful for some reasons. However, if I set up the required for each column (task 1 to task-n) in design 2 AppSheet will oblige users to tick all tasks before syncing.

 

mohsenshahbaghi_1-1667795050134.png

 

As you can see the spreadsheet will become too big in terms of the number of columns (considering +1000 tasks a day). Also detaching work areas and setting them up in separate spreadsheets is not solving the problem.

To elaborate more the tasks are generated based on different frequencies. For example, frequencies can be daily, weekly, monthly, every 2 months, weekly on Monday, weekly on Wednesday, every day except Saturday and Sunday, etc.

Also, some of the tasks must be finished within the same day, and some can be postponed and finished within the next 14 days, etc. So, I found it is not practical to follow the design 2 idea and if that makes sense. I hope this makes it a bit clearer.

I was wondering if you or any other community members could kindly share a workaround to oblige users to fill up the tasks before syncing the app in design 1 (Task Name, Date timestamp, AreaID, User_Name, Completed).

Thanks again and your help is greatly appreciated.

 

Sorry, I forgot to elaborate with a timestamp.

An example could be like following. So, each task can be ticked by one user only, however, multiple users can log in for each workstation on each day to tick tasks that are not ticked yet.

I made a cross-check UX to mask the problem and let other users to do a cross-check before going home and tick the forgotten tasks. However, if in the first place users get obliged by the system to tick all tasks before sync these double-checking issues will be omitted.  

mohsenshahbaghi_2-1667795774251.png

 

I dont think your approach is good idea to stay with schema of Design 1, as Design 2 should be more approriate to fill your needs.

Leaving all the conlumns NOT required for that table`s column, you should consider another approaches or mechanism.

For our app similar to yours where the users are asked to fill in the questionnaries with numbers of the question, we set them not-required. But we set VC to alert the users that "Partially answered", if they are leaving one or more questionnaries are unanswered. Once they fill all the columns , then this VC will render "Fully answered".

Then we ask user to submit the requestionairre (checklist) when they are ready to do so.  We set an action "Submit" but this action icon is only visible when VC is showing "Fully answered", otherwise the icon is invisible, that means the user is not able to submit the checklist as they leave one of more task unattended.

Our apps are working in a perfect way with this logic.

 

Then what you need to do is to let your users to fully submit the check list without exception whenever they leave the office. You can add automation even to remind the users if unsubmitted check list with more than one day old is  left to let them attend until they finish those incomplete check list by sending email reminders .

Hi Koichi Tsuji,

Many thanks for your reply.

I apologize to ask for your confirmation. Is your App designed based on "Desing 1" which is elaborated above or is it designed based on Design 2? 

Kind regards,

Mohsen

My apps data schema is simiar to your Design 2.

 

Hi Koichi,

Many thanks for your reply. It is very precious to have a chat with more experienced people like you and receive advice. I truly appreciate that.

I will redesign the app. Still, managing +1000 tasks in design 1 become challenging. I created a similar submit action you mentioned in another app. I agree with you and I will focus to change the design to design 1 in the coming weeks.

Also, I am thinking about grouping those tasks into subtasks and rearranging the card view or even organizing a dashboard to let users click and see the details (subtasks) of a job. Also, contain them under control to submit all tasks and not leave some unticked (which is the main business).  

Have a good day.

Top Labels in this Space