-
Notifications
You must be signed in to change notification settings - Fork 7.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(stock): Pick List Scan #30832
feat(stock): Pick List Scan #30832
Conversation
Makes sense for picklist. I was gonna add this too.
This also makes sense. However, IMO this check should be implemented in Pick List's JS and not in the barcode scanner? Do you know anywhere else where max qty validation will be required with barcode scanning?
Behavior shown in GIF looks good 👍
Yeah, this will be a good addition. We can just check before_submit if all stock_qty == picked_qty and if not we can warn the user.
Not sure if I understand what this means 😅 Two pickers working on same doc on different computers? I highly doubt that's doable because of the way the framework works right now. |
I kind of figured this. It is one of the requirements I have for my client. I will have to develop some middle man to handle this. |
please also consider catch and handle scan same serial number multi times, currently duplicate serial number will be added to serial no field and quantity increase by 1. program need to prevent this and feedback as warning. |
You can use real-time updates using socket.io for this. Real-time synchronization of normal data structures like JSON (document object) would quite likely lead to conflicts and unexpected behavior 😄 You'll have to implement some kind of locking/synchronization primitives on top of the document object to prevent races.
This is fixed in develop version. Since it was part of bigger changes it didn't get backported, maybe I should port fixes backto v13 😅 |
@ankush I agree with what you're saying. I was originally implementing with that concept in mind, until I came to the realization I needed to be able to scan multiple rows of the same item code. The barcode scan API now relies specifying a maximum quantity so it knows to move to the next item. |
@szufisher It seems this might be fixed in develop branch. I'm assuming serial_no has something to do with batch qty. I have no experience with this workflow. I've setup test site, could you check if the behavior is working as expected for serial no.? |
Codecov Report
@@ Coverage Diff @@
## develop #30832 +/- ##
===========================================
- Coverage 63.06% 62.90% -0.17%
===========================================
Files 984 983 -1
Lines 67166 67064 -102
===========================================
- Hits 42360 42185 -175
- Misses 24806 24879 +73
|
makes sense. Let's go with max_qty for now, if I can think of a better solution I'll comment / implement later. |
@ankush I'm going to be implementing barcode scan for Packing Slip as well. Maybe max_qty will be useful over there. |
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
@ankush I've added another feature for prompting qty. It will be useful so user doesn't have to scan an item so many times for high qty. Let me know your thoughts. |
We have also had a similar request, though UX for this needs to be reviewed. Some users would want to scan everything, and some would want a prompt. There are even cases where users want prompt for buying cycle (where large qty are bought) but individual scans for the selling cycle where qty is usually small. 😬 cc: @marination |
These are also very useful, without these features barcode scan feature is weak. Although, I think I should publish these in a separate PR as they are more for the whole of the barcode scan API. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
last round of minor changes. Tested locally, mostly LGTM.
Parking batch/serial UX for later, it's bit awkward in picklist right now.
Current design of picklist doc doesn't have "picked serial no" so it doesn't make much sense to scan it. Instead it should increment qty only. Might add this in future after fixing UX problems
There was separate function for batch row which frequently didn't receive all the love main function received like: 1. empty row reuse 2. max qty validation Hence it makes sense to combine these in one fat function
@dj12djdjs please update the docs page. There are some differences here for "prompt" and "scan mode" |
we transpile to es2017, so allow use of es2020
@ankush Will do, apologies for the delay |
@ankush Should I target the doc for V14 only? |
@dj12djdjs yes. This depends on changes to barcode scanner that aren't on v13. |
closes: #30821
Proposed Solution
Please note for the examples bellow there are 4 items Item A - Item D with barcode 'a' corresponding to Item A, etc...
Restrict

BarcodeScanner
from creating new rows.By default
BarcodeScanner
will create a row if batch_no or item_code doesn't exist.In the case of pick list only the rows generated from sales order or other supported documents
should be considered when scanning. Ex. We are trying to add Item B through barcode 'b' but it doesn't add row
because Item B isn't in the list of items to pick.
Restrict

BarcodeScanner
from exceeding maximum pickable qty provided by pick list.By default
BarcodeScanner
will continue to increment the quantity of the scanned item.In the case of pick list a maximum quantity will be reached. I've modified the
BarcodeScanner
opts to support this.Support multiple rows with the same item code.

Prevent Picked Qty from being fulfilled automatically when pick list is submitted. There should be some validation Ex: Picker didn't pick all the items.

Might be good to have an option prompt for qty after a scan. This way if a picking order calls for 50pcs It won't be necessary to scan all 50pcs. Just one, then input qty to increment.

Please post your suggestions / feedback.