Comments (15)
When you do the cluster picking, you collect and put the goods on a moving support (like a trolley) which is handled as a pack. You do that for multiple move lines. At the end, you place this support somewhere which is a location (which is physically located).
A location should be somewhere in the warehouse. You can go there and count the goods. It should not be moving.
A pack is something you build over time by putting items inside. Its location is known only once you have finished it and placed somewhere.
The pack can also be temporary. You can transfer its content to a customer pack.
from wms.
[a location] should not be moving
Says who ? Why ?
from wms.
[a location] should not be moving
Says who ? Why ?
Because you move from location A to location B. You do not move the location otherwise where is it physically?
If your location is moving, how do you record where you place it?
At least, that's the reason behind you where asking.
from wms.
If your location is moving, how do you record where you place it?
There is a difference between (A)moving a physical trolley and (B)move (=rename) a location.
Here we are talking about A.
So you track if the goods are in the trolley or if they are not. I don't kneed to know where is the trolley.
I don't need realtime geolocalisation.
from wms.
The question is what happens after the picking? Someone will consume what is in that trolley to pack or ship. And it helps if you can guide that operator by indicating where are the goods, i.e. where you placed that trolley at the end of the picking.
from wms.
In the warehouses I know, the following setup is usually in place:
- the picker, picks goods from the alleys to a trolley,
- when it's done he leaves the trolley in the packing zone
- the packer takes goods from the trolley to pack them
Knowing where the trolley is (in odoo), is never a concern. The starting point for the packers are the trolleys physically in front of them.
from wms.
Knowing where the trolley is (in odoo), is never a concern.
This is a concern in those cases:
- You have to consolidate goods of picking backorders. Your trolley was full during picking and the backorder is on another one. They you are happy to know where to look for the trolleys.
- You have to consolidate goods coming from different picking zones. Each picking zone brings trolley that you want to merge per customer. Then you better know where they are.
- You care about truck loading and you want to ship in a defined ordering. Then you need to unload the trolleys in a defined order and you are happy to know where they are.
from wms.
At amazon it seems that pickers stays at the same place and the stock locations are moving... (For sure Odoo is not used at amazon)
The problem here is that in some cases the place where the trolley is matters but not always.
from wms.
@hparfr in theory and looking at the code I don't see any problem with this change but what would you do on that step and after?
You change the destination location already? Normally this should be done in the unload steps. Then what would you do there? Change it again?
Also, most of the checks in there are done against result_package_id
which in your case won't be populated if I understand well. IMO this would lead to a complete different logic for the whole scenario and probably you need a different version of cluster picking.
Either you make this configurable and adapt the existing methods (eg: the ones to pick the lines) but I'd be in favor only if we don't end up w/ tons of IF/ELSE blocks everywhere.
Or you split common code to a mixin component and define your own cluster picking (eg: cluster_picking_by_location and cluster_picking_by_package).
from wms.
My packing is like that:
-
- the user scan a bin (it can be a location or a pack)
-
- if there is more than 1 picking in that bin, select the first one
-
- the user scan the products (he see the list of products), each time he scan a product it will increase the quantity
-
- when all the products are scanned he confirm the done then go back to step 1
I didn't have implemented yet the destination package yet of the pack. If it's needed, it will be created at the first scanned line but not returned to the application.
In fact, my packing scenario is really close to a "simple transfert" scenario.
Either you make this configurable and adapt the existing methods (eg: the ones to pick the lines) but I'd be in favor only if we don't end up w/ tons of IF/ELSE blocks everywhere.
Yes and it's the hard part yet. I had some difficulties to refactor some parts of the cluster_picking because there is some logic in cascade of the return response.
It's a bit sad to have different cluser_packing and pack (it will confuse future integrators of wms, and lead to duplicated code) but it seems not the good time to do it.
With more experience against real implementations, we will able to refactor the code in v16 or something with more confidence 👯
from wms.
Hi @hparfr !
Hope you're good :) Happy to see you here. Look, reading this thread I have one simple question:
Why using pack is a problem in your case ?
I frequently says who can do more can do less.. And here I think the current solution works also for you or am I wrong ? You can load PACK as your wagon bins (instead of location) then place a bar code in the checkout/packing zone to scan when you bring it there ?
Process therefore is (taking yours as example):
- the picker, picks goods from the alleys to a trolley, here he scans a PACK (stick on the trolley floor or bin) as destination. If another goods is picked for the same order, the system guide him there
- when it's done he leaves the trolley in the packing zone and scan the barcode of the checkout zone to confirm he's done
- the packer takes goods from the trolley to pack them. He's guided to the location scanned for the trolley, in your case only one.
So basically it work perfectly for your case too right ? You're not forced to use everl packing/checkout zone location if you don't need. Just place a big barcode to represent the destination packing zone to confirm you're done.
Now please tell me what doesn't work for you here ? I understand you're used to something else, but what is not working for you here ?
Thank,
Joël
from wms.
Hi Joël,
I understand you're used to something else, but what is not working for you here ?
:) I tried with packs first !
The physical process is quite similar: workers scaning and moving goods and boxes that's why I wanted at first to implement in same scenarios.
For the main concerns I had with packs:
- bin re-use (https://github.com/OCA/wms/pull/64/files) (the bins are put back in the trolleys when empty for new batchs)
- multi picking per bins (or even per trolley) <-- in fact this is the blocking point.
Why mixing multiple picking (sale orders) per bin?
- I have simple warehouses setup where trolley like . All the orders are mixed during the picking and sorted during the packing.
- Complex warehouse setups where they have a lot of difference size of goods to pick and we want to minimize the walk, maximize the numbers of orders. Bins have a standard size on the trolleys. Pickers don't want the bins to be half empty.
The difference in process is also on the pack: packers have to assemble the pickings (=count all the goods).
from wms.
Hi @hparfr ,
I was thinking about your things and here are my points:
- It is ok to implement an option to chose weather you use a bin as location or pack in the cluster picking scenario. I would then do this in the menu configuration
- It is absolutely not ok to put several order in on bin (regardless it is a package or a location). By definition "cluster picking" segregate order at picking time
Conclusion:
I think what you want to do is therefore "Batch picking" (as defined here https://www.newcastlesys.com/blog/bid/348476/order-picking-methods-and-the-simplest-ways-to-minimize-walking-infographic)
I would then implement a batch picking scenario, that allow to mix up orders in the same bin (configurable as package or location in the menu item).
Hope this helps, let us know what do you think.
Joël
Discrete picking specs if of any use:
from wms.
@hparfr Is the above message ok for you
from wms.
Yes. I will create a new scenario.
from wms.
Related Issues (20)
- try use auth_api key but have error using shopfloor_mobile HOT 1
- Field `profile_id` does not exist HOT 5
- stock_storage_type: putaway strategy "do not mix" should give priority to location that already contains the product (the one with the less qty) HOT 3
- Migration to version 15.0 HOT 1
- stock_storage_type: allow to restrict some putaway sequence
- shopfloor_mobile_base: Wrong menu id when odoo is called into the init state on first click on a menu HOT 1
- Field Dependency (estimated_pack_weight_kg) error when installing shopfloor module HOT 1
- [13.0] apps store publishing issues HOT 2
- [14.0] apps store publishing issues HOT 3
- stock_available_to_promise_release - Support multiple warehouses HOT 5
- Function declared as capable of handling request of type 'http' but called with a request of type 'json' HOT 1
- [BUG] shopfloor_ui_tests filename too long HOT 3
- Migration to version 16.0 HOT 4
- Filename too long HOT 2
- Shopfloor: any plans to migrate to V15? HOT 1
- [14.0] picking_batch returns empty list, even if there are suitable batches HOT 1
- Shopfloor: question regarding the beta development status and future plans HOT 4
- 12.0 wms missing stock_location_bin_name from OCA/stock-logistics-warehouse HOT 1
- The Page 404 not found
- Improve printing from shopfloor HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wms.