Commit Graph

6 Commits

Author SHA1 Message Date
Denis Roussel
2ef4a28410 [MIG][16.0] stock_reserve_rule 2023-07-14 09:40:15 +02:00
Jacques-Etienne Baudoux
0a75207e13 [FIX] stock_reserve_rule: rule matching
A move from "Stock/Zone1/A" must match removal rules defined for
"Stock/Zone1"
2023-07-14 09:20:31 +02:00
Guewen Baconnier
23eec98498 Fix test incompatibility with stock_reserve_rule
The rules created in demo data of stock_reserve_rule make the tests of
stock_vertical_lift (and possibly other modules) fail because the
transfers can't be made available.

Deactivate the rule in stock_reserve_rule and activate it only in its
tests. Users can still activate the rule manually to test.
2023-07-14 09:20:31 +02:00
Guewen Baconnier
5060ba8d11 Remove fallback location
It could not work properly here as we need the "fallback" to apply
even if there is no quantity at all in the stock. As we hook the
reservation rules in StockMove._update_reserved_quantity(), and
this method is called only if we have at least 1 product in qty,
the fallback was not applied with zero qty.

A new module will handle this concept: https://github.com/OCA/wms/pull/28
2023-07-14 09:20:30 +02:00
Guewen Baconnier
5f596a5775 Fix bug in fallback when no quantity could be reserved
Before the change, the implementation of the fallback goes like this:

If I reserve a move of 3000 and it finds 600 units, it splits the move
to create a new move of 2400 and pretend to the caller that 3000 was
reserved so the initial move is changed to 'assigned'.

Now, if we have a move of 2400 and finds zero, it still splits the move,
and pretend to the caller that 2400 was reserved → the initial move has
no move line but is assigned. In this case, we should not split the move
but only update the source location of the move.
2023-07-14 09:20:30 +02:00
Guewen Baconnier
c683bb3251 Add stock_reserve_rule 2023-07-14 09:20:30 +02:00