Skip to content
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

[RFC][WMS] Goods Reservation: Zone preference and packaging #685

Closed
jgrandguillaume opened this issue Aug 19, 2019 · 8 comments
Closed

[RFC][WMS] Goods Reservation: Zone preference and packaging #685

jgrandguillaume opened this issue Aug 19, 2019 · 8 comments
Assignees

Comments

@jgrandguillaume
Copy link
Member

jgrandguillaume commented Aug 19, 2019

Source : https://docs.google.com/document/d/1mct6bFFWJqW01wGFcjc-uQNEjyCxvh6Y9TuFdRhe-b0/edit#
Part of: OCA/wms#1

This RCF to propose a POC implementation for the following

Mechanism to select warehouse zones (relates to #654) for move reservations according to rules.

Each rule must define:

  • stock location (required)
  • only full quantity?

The rules will be applied one by one. The need will be decreased by what has been reserved on each rule.

This should not affect "StockQuant._get_available_quantity" but "StockMove._update_reserved_quantity" based on the need.

The rules must only apply if the location on the rule is or is a child of the location for the reservation (move.location_id)

The "only full quantity" flag restricts to the total quant quantity at a location leaf. So the quant is valid only if its quantity <= remaining need.

This should support those scenarii:

Scenario 1
    One warehouse, multiple locations
        rules:
            location A
            location B | full quantity
            location C
        result:
            take what is available in location A
            then take only full pallet in location B if available
            then take what is available in location C
Scenario 2
    2 warehouses, take only full pallet from wh1, remaining from wh2
        rules:
            warehouse 1, location Stock | full quantity
            warehouse 2, location Stock

Reservation by complete packaging first, then apply the removal strategy.

This is the first working version. When working on the other modules touching
the removal strategies, we may need to make a common base, but until then, we
aren't sure of what the lowest common denominator is (first: get a working
version, two: refactor; we are clearly at step one :).

@pedrobaeza
Copy link
Member

Shouldn't this be a removal strategy like FIFO, FEFO, and so on?

@rousseldenis
Copy link
Sponsor Contributor

Shouldn't this be a removal strategy like FIFO, FEFO, and so on?

I think this way should be explored as strategies depend on product quant properties like lot, creation date, ... and for this purpose : quantity

@pedrobaeza
Copy link
Member

Indeed, _get_removal_strategy_order is not going to be enough based on that criteria. _gather method in stock.quant must be overridden for getting proper values. I suggest then to have a base module stock_removal_strategy_hook that overrides it and provide proper hook methods with the corresponding arguments for having a common ground for adding several "advanced strategies", and then mount over it the strategy by zones.

@jgrandguillaume
Copy link
Member Author

jgrandguillaume commented Aug 28, 2019

@pedrobaeza @rousseldenis Of course not easy to explain. May be reading this might help:

In short, we propose to add an advanced rule based mechanism to define which goods and where to reserve them (#685). Then when you figured out where you reserve goods, then we want to properly split operations in the relevant picking type.

The only way that can go in that direction today is in configuring routes, but then it means each product is stored only in one place (which is not always correct -> e.g. pallet Zone A, boxes zone B)

@jgrandguillaume
Copy link
Member Author

How, and lastly, the rule reservation system tells you in which order you take goods in several zones, but then you always apply the "standard" removal strategy on those zones.

@pedrobaeza
Copy link
Member

@jgrandguillaume I think your comments are not incompatible with my implementation suggestion. Any way, they were only some small brushstrokes over full picture, so go on with the best strategy you have in mind.

@jgrandguillaume jgrandguillaume changed the title [RFC][WMS] Goods Reservation: Zone preference [RFC][WMS] Goods Reservation: Zone preference and packaging Sep 9, 2019
@jgrandguillaume
Copy link
Member Author

Related work: #790

@jgrandguillaume
Copy link
Member Author

RFC is over, were entering the pilot phase. To clean up I'm closing related issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants