Require Confirmation Signature/Edit Contact Details

I have an AppSheet that allows our field personnel to record data from live individuals. The underlying Google Sheet workbook has a sheet for the data recorded in the field and an ID Key sheet that contains all of the participants contact info. The sheets are linked by an ID# in each sheet.

At the beginning of the AppSheet process, our personnel select the participant from a drop down. The participants data is then concatenated into a Page_Header. Our personnel then turn their iPads around and ask the participant to confirm the data by signing into a signature block. The step I am trying eliminate is thisโ€ฆ if the data is incorrect, we have to discard the record that was started and go into another view to edit the participant data. Is there a way to have an icon that would automate that edit process, perhaps even drop you back into the dataentry view where we left off?

Anyoneโ€™s help is very graciously appreciated!

Solved Solved
0 43 2,639
1 ACCEPTED SOLUTION

LeventK
Participant V

Hello @Daryl_Zernick
I have edited your app and created the functionality that you have requested. If you open the app in your editor, you will notice that I have created 3 (three) actions:

Master Table

Update Client Now: This is a simple `LINKTOROW([ID],"IDKey_Form")` deep link
Reset IDKeyEdit: This will work in conjunction with the action set under IDKey Table, to reset the IDKeyEdit column

IDKey Table

Update Master Records: This is an action executed on a set of rows, where any user/client have a Master record where [IDKeyEdit] is set to TRUE, you can reset them whilst saving the user/client record after you have edited their record.

I have tested it and it works as expected. Please check the app and inform me if itโ€™s OK and the solution suits your needs.

How It Works

Just create a Master record, mark [IDKeyEdit] as Y and save the record. It will pop-up a confirmation message and take you to the IDKey record for editing the information. When you edit and save the IDKey record, it will pop-up another confirmation message to reset the IDKeyEdit column to N in the all the related Master records.

Regards,

View solution in original post

43 REPLIES 43

LeventK
Participant V

@Daryl_Zernick
You can set an action button in your Detail View with LINKTOROW(...) deep link

LINKTOROW([ID Key],"YourFormViewName")

When pressed, it will bring the participantโ€™s record form with editing mode.

Here are all my views: 1X_fe17a72dd9d23e4160963a906d32283663e66f66.png

Thank you for your response Levent!

If I go to the Detail view of the data entry sheet and select Behavior, the Event Actions space to the right has nothing selectable or editable as seen here:

LeventK
Participant V

@Daryl_Zernick
You need to create an action via Behavior >> Actions pane. Add an action to the table where your participant info is. Prominence shall be Display prominently and it will appear in the Detail View of your participant. For the action:

Action name: Give it a name that you see fit
For a record of this table: Select your table where your participantsโ€™ info is
Do this: App: go to another view within this app
Target: Click the blue funnel and record the expression I have given, with making the appropriate changes
Action icon: Choose an action icon you like
Prominence: Display prominently

I had actually been trying to do this through actions for the last couple of days. This is my action:

. Without attaching it to anything it shows up in the static/locked view of the IDKey, but it does not show up as an attachable event in the live/editable view of the Master table in this form: โ€œView:Form, Data: Masterโ€ here:

@Daryl_Zernick
You cannot display an action in Form UX, they are only viewable within the Detail UX. One way could be displaying an inline view or REF_ROWS within the form for that record and if the displayed value is not correct, you can go to the reference record and edit it there. When you save and came back to this Master Form, you will be seeing the updated values.

Thank you for your help. Iโ€™m not sure how your example would work honestly, but will investigate. Another work around I was considering was adding the contact detail columns to the โ€œMasterโ€ sheet and have them auto-populated from the IDKey, then have our people make any changes to those fields if needed in the form, then upon saving, have those values update the values in the IDKey.

Thank you for your time and suggestions!

LeventK
Participant V

@Daryl_Zernick
Could this be something that you are querying for? Check out the Daryl Zernick menu view from my sample app below.
You are free to copy the app (Record Changes) from my portfolio as well > https://www.appsheet.com/portfolio/245151

To see it in action: choose the EDIT USER action, edit any field you like and save the form. You will notice that your header information will be updated. After testing, provided the proposed solution fits your needs, please visit this post again and from this display, click the green checkbox next to your name in the main menu so that it will mark your proposal as SOLVED and your link will be filtered away from this sample app.

Hello Again! How can I share this AppSheet with you? I wanted to see if is possible to go to another view in the way I have it below where the user says whether or not the data is correct, if not, they answer appropriately, then the link to view should take them to the IDKey form view, but its not doing so. I have a feeling its because we are entering data into one sheet within the workbook, then ask to go to another sheet in the same workbook?1X_757e24dcff192d4e700a8dc3ff006d94267e95ad.png

Hello @Daryl_Zernick,
Are you trying to open another form with a deep link whilst you are trying to fill a form? If thatโ€™s the case, you canโ€™t do that. Is this related with your query above or is it completely a different one? Have you checked my sample app?

I didโ€ฆ but I think if you look at my AppSheet, youโ€™ll see I already have that in place. What I am trying to do is make this seamless to the user, using only the dataentry function versus having to manually navigate between the two functions, dataentry and clients. How do I share the app with you?

You can share it with levent@able3ventures.com with co-author status. Also do share the gSheet pls with edit access. Thnx.

@Daryl_Zernick
Do you want the ability to edit the Client record when [IDKeyEdit] field marked as YES or is it OK to be able to edit the client record after saving that particular dataentry record?

I am trying to make it so the user does not have to go and enter all information, from first question to very last question and then edit the client record afterwards. If they get to the portion where the presented contact data is, at the very beginning, and it is incorrect, Iโ€™m happy to have the record automatically discarded and have the user dropped into the specific client record that needs to be edited OR if the data can be edited inline (so to speak) then carry on from the signature block.

LeventK
Participant V

Hello @Daryl_Zernick
I have edited your app and created the functionality that you have requested. If you open the app in your editor, you will notice that I have created 3 (three) actions:

Master Table

Update Client Now: This is a simple `LINKTOROW([ID],"IDKey_Form")` deep link
Reset IDKeyEdit: This will work in conjunction with the action set under IDKey Table, to reset the IDKeyEdit column

IDKey Table

Update Master Records: This is an action executed on a set of rows, where any user/client have a Master record where [IDKeyEdit] is set to TRUE, you can reset them whilst saving the user/client record after you have edited their record.

I have tested it and it works as expected. Please check the app and inform me if itโ€™s OK and the solution suits your needs.

How It Works

Just create a Master record, mark [IDKeyEdit] as Y and save the record. It will pop-up a confirmation message and take you to the IDKey record for editing the information. When you edit and save the IDKey record, it will pop-up another confirmation message to reset the IDKeyEdit column to N in the all the related Master records.

Regards,

@Daryl_Zernick, @LeventK, wow! reading your posts, I realize I am only scratching the surface on what this platform offers.
Kind of hard to reconstruct from the post how you achieved the results. If either of you is able to share, would love to look at your solution (in any stripped form you are okay sharing) to learn the cool techniques you have used to achieve this.

Thank you so much for your help once again!

When I click โ€œYโ€ to indicate the record needs to change, nothing happens immediately. When I get to the end and hit save I get this:
1X_c2790e67ec83e89af5924c3edbc66f7e21995e3e.png

Selecting the affirmative response I get this:
1X_cdc3748b8954d7780aa0d8ca68f7bf68477f8bd0.png

Please let me know if I need to change anything on my end to get it to workโ€ฆ Iโ€™m wondering if it may have something to do with the Google Sheet perhaps?

@Daryl_Zernick
I believe your signature field is a required field. Just complete the record including the signature and then save the Master record. Provided you donโ€™t want the user to sign the record unless the IDKey record is not updated, then we can find a smart way to by-pass it, no problem.

It looks like I just need to make the signature required dependent on other circumstances, which I can figure out. Is it possible to make the AppSheet do this?

  • Discard the record at the time the user selects to edit the contact info

  • Take them directly to a form to edit the IDKey at the specific client record?

@Daryl_Zernick
The solution I have provided will automatically take you to the associated IDKey record form in edit mode upon confirmation. Unfortunately, we donโ€™t have any action to cancel a form. Just try with marking the IDKeyEdit as Y, sign and complete the record for testing how I have approached to the problem. You will notice the difference.

Thank you! Itโ€™s the best solution for the problem for sure! Our staff spend 15 to 20 minutes with each individual. At the end of each visit, staff take notes or complete note taking after the client has gone. My concern is that staff may not write down what needs to be changed and the client will not be there to approve. So, tackling this at the beginning of the client encounter would be optimal. So, Iโ€™m wondering if perhaps I need two AppSheets, one to confirm contact details with your solution and another one that is immediately loaded after completion of the first?? Do you think that would work? If so, I suppose I just need to become familiar with that functionality.

LeventK
Participant V

@Daryl_Zernick
Then the correct sequence for your users will be to start with the Clients view rather than the DataEntry view. As the IDKey table is set as the child table for the Master table, the users can start with the Clients view, check if all the participant data is correct, if not edit that record immediately when the participant is there and then click the New button under the Related Master [ID] inline view to start recording a Master record for that participant. I believe that would be the optimal path to follow in your case.
1X_e3b4adc8281effb6b37991addfee4539ca298484.png

Excellent! Thatโ€™s what Iโ€™m going to spend some time on for sure!! Youโ€™ve been an AWESOME help and teacher!!!

All my best!!

Daryl

Youโ€™re welcome @Daryl_Zernick, truly my pleasure provided I could be able to help.

LeventK
Participant V

@Daryl_Zernick
Another point I can propose is, move the Entry Type column to the next page in your DataEntry form. When you press the New button under the Clientโ€™s inline view for Related Master IDs, the ID field of the DataEntry form is automatically be filled with the correct ref value, so the users donโ€™t need to select a client (when in time the list goes long). So as this field will be automatically filled out, the users will automatically head to the second page of the form and start filling with the Entry Type field first.

To make this happen, head to UX >> Options >> FORMS and set the Advance forms automatically property to ON.

Sweet!! Thank you again!!!

Youโ€™re welcome @Daryl_Zernick. Can you mark the any of my proposed replies as your solution provided it fits your requirements and solves your issue? It might also be helpful for other community members who might search the community with the solution tag. Thank you.

Hello! Do you know why this would not work for the App formula in a virtual column created by a ref view?

SELECT(AvailCDates[DateTime], ISBLANK([DateStatus]))

I am having the user in my Master table select a date from a list of available dates in the โ€œAvailCDatesโ€ table through the ref. There are only two columns in AvailCDates, โ€œDateTimeโ€ and โ€œDateStatusโ€. DateStatus indicates if the date is used already. I simply want to show the unused dates, but its showing me all the dates with no errors.

As usual, thanks for your input!

@Daryl_Zernick
Problem solved. I believe itโ€™s working as expected. Check your TestDummy3 app >> Master table >> NextAppDate columns Valid_if expression.

SELECT(AvailCDates[DateTime],NOT([DateStatus]="Used"))

Thank you for your time on this one as well!

So, it does work, but not every time. I just tried to enter 3 in succession, waiting until โ€œusedโ€ posted each time. On the last one, it presented the list with the last date selected included in the list when it should not have. After closing the AppSheet and coming back, the next entry did not have the last selected date in the list. Is there something that needs to be โ€œclearedโ€ from memory each time?

Also, curious why the ref virtual column in AvailCDates still needs this app formula included as it seems to be saying the exact same thing your formula is but in the Master table?
1X_c5e9e42e758d33faa049d0727d58f12be00a14e7.png

Thank you again!!

I just tried it again as above with the same results. After closing the AppSheet completely and coming back, the list is correct.

@Daryl_Zernick
As the โ€œUsedโ€ value in AvailCDates table is recorded with DataChange workflow, it will be executed after saving the form and there will be a slight delay. So with successive data entry, itโ€™s possible that you will not be getting the correct data in the ref dropdown. Rather than using DataChange workflow, I may advise using AppSheet API triggered via webhook workflow. I can create that webhook workflow for you in the TestDummy3 app if you want but for testing, your app needs to be deployed.

Levent,

I deployed the TestDummy3 AppSheet.

The only concern I have is this. The entire reason we are using AppSheet is because of the offline functionality. If our staff go into a building that they do not have cell data or internet connections, AppSheet will hold the data on the device until a connection to the internet is re-established. I just need to be sure that your solution does not change this aspect.

Thanks again!

Daryl

When you are using Ref field, you should use key column in your validationโ€ฆ and your DateTime column is probably not that one.

The date and time column is be a Key column.

LeventK
Participant V

@Daryl_Zernick
Your DataChange workflow wonโ€™t work when the device is in offline mode either

Testing it on the iPad, I am getting the same results, even when waiting for a few minutes, I still get an option that is not an option. When I close the AppSheet app completely and restart, the option is correctly gone. So, what can I do that will change this behavior?

@Daryl_Zernick
AppSheet API will be a better alternative but as I have mentioned above, in any offline case, it wonโ€™t work as your DataChange wonโ€™t also. I will set the webhook workflow for you for testing. Than you can test and see. Is that sounds OK for you?

absolutely!

Top Labels in this Space