How to allow data entry ONLY from Barcode scanning?

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:

  1. The field being scanned into MUST be visible and editable - otherwise scanning will not activate.
  2. The app cannot distinguish between the field being populated by the scanner or by manual entry. 

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 Solved
1 10 1,790
  • UX
1 ACCEPTED 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,

daniel_sanchez_0-1674861144194.png

 

but below his image comes the answer. deselected the option : Allow scan input override 

it no longer allows typing and only accepts scan.๐Ÿ˜†

daniel_sanchez_0-1674860371599.png

 

 

View solution in original post

10 REPLIES 10

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:

  • 1)  Scan a barcode which is translated to a value and then entered into the field
  • 2) User manually enters the value into the barcode

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().

daniel_sanchez_3-1674856651609.png

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).

daniel_sanchez_4-1674856752228.pngdaniel_sanchez_5-1674856776115.png

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,

daniel_sanchez_0-1674861144194.png

 

but below his image comes the answer. deselected the option : Allow scan input override 

it no longer allows typing and only accepts scan.๐Ÿ˜†

daniel_sanchez_0-1674860371599.png

 

 

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 ๐Ÿ‘

 

 

Top Labels in this Space