cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous5
Helper II
Helper II

Barcode Scanner Assistance

Hello everyone,

 

I am new to Powerapps and would like some assistance using the Barcode Scanner. I have created a canvas app for inventory management based on a Sharepoint list. I have set up the BrowseGallery search box as I want it so it can locate records based on text-search by Title. From there I added the Barcode Scanner as a "Scan" button to the right of the search bar. My ideal goal here is as follows:

 

  1. Have the Sharepoint list fully created with an "ID" Alphaneumeric string in the Title column.
  2. Create Barcode labels based on this "Title" field. Each warehouse item would get a label with the contents in the Sharepoint list under it's respective Title
  3. Use the scanner in the field on labels for inventory items to recall the record on the app so the person in the field can see what is in each wrapped pallet.
  4. I'd like for the the app to be able to utilize the Search Textbox as well for manual text entry.

From my limited understanding (and googling) I've set up the BarcodeScanner for OnScan to set a variable as "Set(varScan, BarcodeScanner1.Value)"

 

Then the BrowseGallery Items is set as "SortByColumns(Filter([@'Central Store Long-Term'], TextSearchBox1.Text in 'Item Qty. & Description'|| TextSearchBox1.Text in Title|| Title = varScan), "Created", If(SortDescending1, Descending, Ascending))"

 

In test, the text box search works normally and the Scan button will bring up the barcode scanner and it will appear to have scanned the barcode but there is no change to the list and it does not change the view of the gallery to filter for the correct entry.

 

Couple things:

  • Can anyone help me narrow down the correct bit of language to make the scanner work to filter down to the proper entry?
  • Once the scanner is working, what is a simple way to "clear" the record to bring the user back to the default gallery view? Would it be possible for the scanner to extract the text string from the barcode and insert it directly into the search box? 
  • If the user wanted to do another scan, will the Scan button clear the variable and be ready to find another record?

 

Thanks in advance for the help. Let me know if any further information is needed.

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Anonymous5 ,

First of all thanks a lot for providing information,
As again I went through with your expectation/Issue and after watching the attached video.

I got another approach for you.

Please Follow the below Approach.

Step 1:  You can set the barcode Value as the Default Value for the TextInput.
Like below - 

VijayTailor_0-1602584416497.png

Step 2: On BarCode Scan reset the TextInput.
Like Below - 

VijayTailor_1-1602584533927.png


Step 3 : Modify the Below Code as per your Configuration -

//Filter Code 
If(IsBlank(TextInput1.Text) || IsEmpty(TextInput1.Text),
SortByColumns(Barcodes, "Created", If(SortDescending1, Descending, Ascending)),
SortByColumns(Filter(Barcodes,StartsWith(SerialCode,TextInput1.Text)), "Created", If(SortDescending1, Descending, Ascending))
)


For More Details See the Demo -
V1BarCodeNewIssue.gif


Note - Tested in Mobile also .

Thanks,
Vijay


View solution in original post

8 REPLIES 8
VijayTailor
Resident Rockstar
Resident Rockstar

Hi @Anonymous5,

As I gone through your post, I am suggesting the below approach for your requirement.

First of all you can use the Filter Query based on Textinput is blank or Empty.

like if(IsBlank()TextInput.Text) || IsEmpty(), true Filter condition with textinput enterred Value else filter with barcodeScanner value.
This is the First suggestion.
See the Code for reference

If(If(IsBlank(TextSearchBox1) ||IsEmpty(TextSearchBox1),
    SortByColumns(Filter([@'Central Store Long-Term'], TextSearchBox1.Text in 'Item Qty. & Description'|| TextSearchBox1.Text in Title|| Title = varScan), "Created", If(SortDescending1, Descending, Ascending)),
    SortByColumns(Filter([@'Central Store Long-Term'], TextSearchBox1.Text in 'Item Qty. & Description'||  Title = varScan), "Created", If(SortDescending1, Descending, Ascending)))


For reset the Barcode Scanner you can use like below - 

VijayTailor_0-1602516778321.png

Thanks,

Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."-Vijay





Vijay,

 

I understand your recommendation for the Scanner reset and have added this to the OnSelect option of the BrowseGallery.

 

Regarding the filter though, I get the attached error when I pasted that in and the records disappear in the gallery.

Hi @Anonymous5 ,

As i can see the the Screenshot.

YOu need to use Only 1 if - 

see the reason of error - 

VijayTailor_0-1602519021427.png

correct code - 

If(IsBlank(TextSearchBox1) ||IsEmpty(TextSearchBox1),
    SortByColumns(Filter([@'Central Store Long-Term'], TextSearchBox1.Text in 'Item Qty. & Description'|| TextSearchBox1.Text in Title|| Title = varScan), "Created", If(SortDescending1, Descending, Ascending)),
    SortByColumns(Filter([@'Central Store Long-Term'], TextSearchBox1.Text in 'Item Qty. & Description'||  Title = varScan), "Created", If(SortDescending1, Descending, Ascending)));

Thanks,

Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."-Vijay

Vijay,

 

I have entered your recommended code and no longer get an error. Unfortunately now, typing in text to search in the "Title" and "Item Qty and Descript" fields will not find any records. The scan also does not produce any results when using the mobile app.

 

Additionally, if I try to select a record from the gallery, it is no longer linked to the respective "Detail" screen and does not change the screen (broken).

 

Let me know what information i can provide here.

 

Rob

Hi @Anonymous5 ,

YOu can Try below modified Code.

If(IsBlank(TextSearchBox1.Text) || IsEmpty(TextSearchBox1.Text),
SortByColumns(Filter([@'Central Store Long-Term'],StartsWith(Title,TextSearchBox1.Text) ), "Created", If(SortDescending1, Descending, Ascending)),
SortByColumns(Filter([@'Central Store Long-Term'],Title = varScan), "Created", If(SortDescending1, Descending, Ascending)))

if still not work then, please, record the video and attach here (So i can understand what the error is occured)

Thanks,

Vijay,

 

The modified code still did not work. I have attached two videos. The first (original code) shows my starting point where the text search works normally to filter results.

 

The second video (modified code) shows your most recent suggestion in the BrowseGallery Items field and you can see when I try any text entry, no records are found.

 

Also, for your recommendation for clearing the barcode result, am I supposed to place that Reset command under the OnSelect parameter of the BrowseGallery item?

 

Rob

Hi @Anonymous5 ,

First of all thanks a lot for providing information,
As again I went through with your expectation/Issue and after watching the attached video.

I got another approach for you.

Please Follow the below Approach.

Step 1:  You can set the barcode Value as the Default Value for the TextInput.
Like below - 

VijayTailor_0-1602584416497.png

Step 2: On BarCode Scan reset the TextInput.
Like Below - 

VijayTailor_1-1602584533927.png


Step 3 : Modify the Below Code as per your Configuration -

//Filter Code 
If(IsBlank(TextInput1.Text) || IsEmpty(TextInput1.Text),
SortByColumns(Barcodes, "Created", If(SortDescending1, Descending, Ascending)),
SortByColumns(Filter(Barcodes,StartsWith(SerialCode,TextInput1.Text)), "Created", If(SortDescending1, Descending, Ascending))
)


For More Details See the Demo -
V1BarCodeNewIssue.gif


Note - Tested in Mobile also .

Thanks,
Vijay


Vijay,

 

Just wanted to say this is working perfectly. Thanks for your persistence helping me out!

 

Rob

Helpful resources

Announcements
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

Top Solution Authors
Top Kudoed Authors
Users online (2,498)