I know this has been asked before in the community but I am just wondering if anyone has come up with a solution.
I have a use case where users scan a barcode posted at a location - i.e. the user is expected to be at that location when they scan the code. The app then records the location and time when the barcode is scanned.
However, the user can cancel out of the scanner. This results in an empty Barcode field into which a user can type in the resulting barcode value. The issue with this is that they could type in the value when offsite.
I have tried every possibility I could think of to try to prevent manual entry of this field to no avail. The basic problem is two-fold:
Has anyone worked out a way to only allow entry into a field by scanning a barcode?
I understand that a savvy person could just take a picture of the barcode and use that to scan in offsite. The remedy for that is to periodically change the posted barcode but still allow the old one. Then the system can identify when a user has used the old one and appropriate action can be taken.
I also understand that NFC tags are a possibility but the requirement for now is to use barcodes. Incidentally, it seems NFC tags might suffer the same problem - although I have not yet tried a solution using then.
Solved! Go to Solution.
so..i find the solution very simple, the credit is for Koichi_Tsuji in the post:
https://www.googlecloudcommunity.com/gc/AppSheet-Q-A/Select-Photo-Source/m-p/322352
He answered something about allowing the user to take photos from the gallery,
but below his image comes the answer. deselected the option : Allow scan input override
it no longer allows typing and only accepts scan.๐
A query please.
Could you please update , if a different location does not get recorded than the expected one at the posted location, if someone manually enters it offsite, meaning at a different location than expected?
I don't understand your question.
So let me answer this way...currently a user can enter the resulting barcode value into a SCANNABLE field in two ways:
I am looking to prevent the second. The goal is to allow entry into the scannable field ONLY by way of scanning a barcode - more precisely in my use case...only allow entry by scanning while in front of a posted barcode at a designated location.
Because they can manually enter the value, the user could be 50 miles away or in the parking lot and the app would think they are in front of the barcode scanning it. I want to prevent that.
Wow, good question. I can't think of anything, but I'm certainly going to keep thinking about it!
You could validate that the user's GPS location is within a certain range of the expected location of the barcode. That might be what Suvrutt was alluding to as well.
@Marc_Dillon wrote:
You could validate that the user's GPS location is within a certain range of the expected location of the barcode.
Yes. This is actually already happening. The problem here is the GPS coordinates, at least given by AppSheet, are not always accurate enough. Sometimes they are miles away. It is frequent enough that another stop gap is needed.
It may have to do with how AppSheet polls for coordinates. Or could be device and even connection issues. Not certain. I understand there is an accuracy difference in how the HERE() function works versus other methods. The functionality used in the app was built by another and I haven't had any time to test it and try to improve it myself.
Yes, The real problem as mentioned by Marc and Suvrutt is that the user needs complete the formularies on the site. I suppose that the solution is to limit the user that fills in the forms only on the site via geolocation.
You can try add a field that Ubication type: latlong , this needs a should not be editable by the user, but in initial value, you add the formula: Here().
This way you will have the location where the record was filled and the user will not have the possibility to change it manually, (if you leave it activated, the edition can change the coordinates manually).
Is probably that you need to update the policy of geolocation in the mobile of the user, you say that you need a check something..๐
so..i find the solution very simple, the credit is for Koichi_Tsuji in the post:
https://www.googlecloudcommunity.com/gc/AppSheet-Q-A/Select-Photo-Source/m-p/322352
He answered something about allowing the user to take photos from the gallery,
but below his image comes the answer. deselected the option : Allow scan input override
it no longer allows typing and only accepts scan.๐
lol, that's hilarious, how did we all miss that option ๐คฃ
I think: if other people have the same problem but in another field for example gallery, I find something like a formula to know from where the user takes the pictures from the camera or gallery, and Voila!
LOL! This is why we ask, even if we are experienced!
The funnier sad thing is I HAVE seen that option but just haven't ever needed it so completely forgot about it! I'll give it a try and report back here.
EDITED: The option turned off works as expected preventing users from data entry!
Though it doesn't impact me in this case, the only gripe I have is that it is a "global" setting. Which means ALL scanning fields in the app either allow override or they don't. Time for a Feature Idea!
Nice to see the thread and suggested solution from @daniel_sanchez.
If that setting to stop scan override was not available, then possibly the location based approach would have been required. I was asking the same query as Marc also rightly mentioned.
Joining the thread after some gap because it was late night at my place when I typed the earlier query. So I retired for the day. Now it is early morning. ๐
Nice to see an interesting discussion by all- @Marc_Dillon , @daniel_sanchez and @WillowMobileSys ๐
User | Count |
---|---|
32 | |
31 | |
30 | |
19 | |
17 |