Commit Graph

803 Commits

Author SHA1 Message Date
Denis Roussel
2c4bfbfaff [IMP] stock_reserve_rule: Don't evaluate strategies if needed quantity is already taken 2024-10-07 10:53:06 +02:00
Denis Roussel
bc363dfae7 [IMP] stock_reserve_rule: Change package type to package level 2023-07-18 09:16:01 +02:00
Denis Roussel
db7d88e661 [IMP] stock_reserve_rule: Don't use user's default company but current one 2023-07-14 09:43:26 +02:00
Denis Roussel
5f438d3e6a [IMP] stock_reserve_rule: Don't rely anymore on stock.inventory model 2023-07-14 09:40:15 +02:00
Denis Roussel
2ef4a28410 [MIG][16.0] stock_reserve_rule 2023-07-14 09:40:15 +02:00
Denis Roussel
af394970da [IMP] stock_reserve_rule: pre-commit stuff 2023-07-14 09:22:04 +02:00
OCA-git-bot
8054f0d633 [UPD] README.rst 2023-07-14 09:20:31 +02:00
oca-ci
1d3463122c [UPD] Update stock_reserve_rule.pot 2023-07-14 09:20:31 +02:00
Ricardoalso
eab02d3615 Removing product_packaging_type dependency and replacing it by the fields available in stock module V15 2023-07-14 09:20:31 +02:00
Ricardoalso
e1eb6cf089 [MIG] stock_reserve_rule: Migration to 15.0 2023-07-14 09:20:31 +02:00
Michael Tietz
45cbe2b4d7 stock_reserve_rule: fix _apply_strategy_empty_bin
rule now only gets applied if no other products are allocating the location
2023-07-14 09:20:31 +02:00
Simone Orsi
2fedd1f100 stock_reserve_rule: dev status -> Beta 2023-07-14 09:20:31 +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
Sébastien Alix
98c31d1f35 [MIG] stock_reserve_rule: Migration to 14.0 2023-07-14 09:20:31 +02:00
Sébastien Alix
1a39f8435f [IMP] stock_reserve_rule: black, isort, prettier 2023-07-14 09:20:31 +02:00
Juan Carreras
6bdccd2419 [FIX]stock_reserve_rule: fix rule because multicompany scheme change 2023-07-14 09:20:31 +02:00
OCA-git-bot
542adcaab3 stock_reserve_rule 13.0.1.3.0 2023-07-14 09:20:31 +02:00
oca-travis
9b82638bca [UPD] Update stock_reserve_rule.pot 2023-07-14 09:20:31 +02:00
Guewen Baconnier
725c60563b stock_reserve_rule: add dependency on stock_helper
To remove the duplicate implementation of
StockLocation.is_sublocation_of()
2023-07-14 09:20:31 +02:00
OCA-git-bot
52ad760b18 stock_reserve_rule 13.0.1.2.1 2023-07-14 09:20:31 +02:00
Guewen Baconnier
c929d72729 Modify packaging rule to always respect fifo, lifo, ...
The former implementation was to take as much as possible of the largest
packaging, to the smallest packacking, to have less to move.
Then, only, removal order (fifo, ...) was applied for equal quantities.
It is more important to respect removal order than limiting the
operations, so remove this "optimization".
2023-07-14 09:20:31 +02:00
Guewen Baconnier
0319daab42 Modify empty bin rule to always respect fifo, lifo, ...
The former implementation was sorting the quants per location and trying
to take as much quantities as possible from the same locations, to limit
the number of operations to do. Then, only, removal order (fifo, ...)
was applied. It is more important to respect removal order than limiting
the operations, so remove this "optimization".
2023-07-14 09:20:31 +02:00
OCA-git-bot
b0ddf7e55b stock_reserve_rule 13.0.1.2.0 2023-07-14 09:20:31 +02:00
oca-travis
132a2e2a1a [UPD] Update stock_reserve_rule.pot 2023-07-14 09:20:31 +02:00
Guewen Baconnier
dc118cda5a Change picking type to many2many in reserve rules 2023-07-14 09:20:31 +02:00
OCA-git-bot
217d293734 [UPD] README.rst 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
OCA-git-bot
293b195452 [ADD] icon.png 2023-07-14 09:20:31 +02:00
OCA-git-bot
1d2c4fd750 [UPD] README.rst 2023-07-14 09:20:31 +02:00
oca-travis
2e6d13242c [UPD] Update stock_reserve_rule.pot 2023-07-14 09:20:31 +02:00
Guewen Baconnier
a551d5ced2 Remove implicit fallback when rules are used
When rules are configured and have been applied, we should not
have an implicit fallback on the base location, as it would kind
of cancel the benefits of the rules (as it would then take whatever
it wants anywhere in all the locations).
2023-07-14 09:20:31 +02:00
Guewen Baconnier
cfa3c8ee1a Revert "Optimize SQL queries when searching a rule"
This reverts commit 768f186fd2.

Which is not more optimized, the optimization based on parent_path
doesn't make sense here as the ORM will read parent_path in the location
and get the parent ids by splitting the ids, it doesn't need more than
one query on stock_location which is done based on its id and can reuse
the cache, there is no lookup on parent path for parent_of.

>>> env["stock.reserve.rule"].search([("location_id", "parent_of", 3125)])
2020-05-27 05:36:59,938 1 DEBUG log_p odoo.sql_db: query: SELECT "stock_location"."id" as "id","stock_location"."name" as "name","stock_location"."complete_name" as "complete_name","stock_location"."active" as "active","stock_location"."usage" as "usage","stock_location"."location_id" as "location_id","stock_location"."comment" as "comment","stock_location"."parent_path" as "parent_path", <stripped>,"stock_location"."create_uid" as "create_uid","stock_location"."create_date" as "create_date","stock_location"."write_uid" as "write_uid","stock_location"."write_date" as "write_date" FROM "stock_location" WHERE "stock_location".id IN (3125)
2020-05-27 05:36:59,942 1 DEBUG log_p odoo.sql_db: query: SELECT "stock_reserve_rule".id FROM "stock_reserve_rule" WHERE (("stock_reserve_rule"."active" = true)  AND  ("stock_reserve_rule"."location_id" in (1,7,8,133,134,135,144,207,3125))) ORDER BY "stock_reserve_rule"."sequence" ,"stock_reserve_rule"."id"
2023-07-14 09:20:31 +02:00
Guewen Baconnier
c9878a9c17 Remove logger that makes the tests failing
As the logger outputs an error log during tests, travis counts it as a
failure of a test.
2023-07-14 09:20:31 +02:00
Guewen Baconnier
aebb0818b0 Add explicit filter on picking type 2023-07-14 09:20:31 +02:00
Guewen Baconnier
12957cdd52 Improve usability 2023-07-14 09:20:31 +02:00
Guewen Baconnier
5f132e5856 Use optimized method to check if location is child 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
ec0ad0a7f6 Optimize SQL queries when searching a rule
Searching all rules then filtering in python the parent path is
more efficient than finding all the parent locations and finding
the matching rules.
2023-07-14 09:20:30 +02:00
Guewen Baconnier
f5b3d4dec1 Fix application of removal rules too broad
Example of configuration:

Rule location: Stock
Removal rule 1: Stock/Zone1
Removal rule 2: Stock/Zone2

Reservation of a stock move with Stock/Zone2 as source location.

Previously, it would reserve in Stock/Zone1.
Now, it will never be allowed to reserve in Stock/Zone1.

A warning message was added previously to warn the user about potential
issues, which is now obsolete so I removed it.
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
sebalix
9481c6061b [IMP] stock_reserve_rule: add constraints on fallback locations 2023-07-14 09:20:30 +02:00
Guewen Baconnier
4fd7ef9d2e Run pre-commit with xml prettier 2023-07-14 09:20:30 +02:00
Guewen Baconnier
086db87a38 Migrate stock_reserve_rule to 13.0 2023-07-14 09:20:30 +02:00
Guewen Baconnier
c683bb3251 Add stock_reserve_rule 2023-07-14 09:20:30 +02:00
Francesco Foresti
28d506588c Translated using Weblate (Italian)
Currently translated at 44.1% (15 of 34 strings)

Translation: stock-logistics-warehouse-16.0/stock-logistics-warehouse-16.0-stock_quant_manual_assign
Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_quant_manual_assign/it/
2023-07-12 16:11:57 +00:00
Francesco Foresti
8106d91d3d Translated using Weblate (Italian)
Currently translated at 32.3% (11 of 34 strings)

Translation: stock-logistics-warehouse-16.0/stock-logistics-warehouse-16.0-stock_demand_estimate
Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_demand_estimate/it/
2023-07-12 16:11:57 +00:00
OCA-git-bot
7d4a3264df [ADD] setup.py 2023-07-04 14:08:30 +00:00
OCA-git-bot
7f89664feb [UPD] README.rst 2023-07-04 14:08:29 +00:00
OCA-git-bot
be31165509 [UPD] addons table in README.md 2023-07-04 14:08:26 +00:00
oca-ci
cb76ef04d9 [UPD] Update account_move_line_product.pot 2023-07-04 14:03:44 +00:00