Commit Graph

66 Commits

Author SHA1 Message Date
Lois Rilo
f7f387e488 [FIX] mrp_multi_level: ariable 'move' referenced before assignment 2024-03-26 08:57:58 +05:30
Lois Rilo
f59e3d602a [FIX] mrp_multi_level: starting qty on hand wrong when using lots
Unify the way to get the starting on hand whenever needed in MRP
calculations.
2024-03-26 08:57:58 +05:30
Alexandre Fayolle
5d5a8a717d [IMP] mrp_multi_level: safety stock
When a product has a safety stock in an area, and the current stock is
below safety, but there are moves in the future, mrp_multi_level does
not compute an immediate action to get back to the safety stock.

This PR changes this behavior: when the mrp_moves are considered, before
processing the first move in the future, we insert a resupply action to
rebuild the safety stock.

We also add some refactoring in the process:

* add extension point on the wizard to compute the quantity to reorder
(so we can choose in a separate module whether to rebuild safety stock
or not)
* add extension point on the wizard to get the date at which the safety
stock must be rebuilt (defaults to today)
* make the code of the wizard symetric between the groupes and non
grouped configuration
2024-03-26 08:57:58 +05:30
Alexandre Fayolle
5558b98d75 [IMP] mrp_multi_level: reduce some logging
When running the multi level planner, the wizard will delete the records
from the previous run (mrp.inventory, mrp.move, mrp.planned.order).
There can be hundreds of such records, and the call to unlink() will
create a log entry which is not really informative. We disable this log
during the call to the wizard (but keep if for manual unlinking of the
records which we want to trace).
2024-03-26 08:57:58 +05:30
Alexandre Fayolle
9ee1c33d17 [REF] mrp_multi_level: location management
Small refactoring adding a _get_locations method on product.mrp.area
which by defaults delegates the computation to the related mrp.area.

This enables extending a few things related to locations at the
product.mrp.area level.

Change the way `_get_locations()` work: don't return the list of child
locations, only the top-most locations, and then use the `child_of`
operator in the code that looks for locations.
2024-03-26 08:57:58 +05:30
BernatPForgeFlow
512217bab0 [IMP] mrp_multi_level: Get BoM to explode
When exploding requirements or calculating supply method, we will consider the first active BoM taking into account the routes.
2024-03-26 08:57:58 +05:30
Lois Rilo
8551ee8705 [IMP] mrp_multi_level: do not create moves if not data
This improves extensibility, allowing to not create moves on
certain situations by extending the prepare vals hook method.
2024-03-26 08:57:58 +05:30
joan
99a8f83ff0 [MIG] mrp_multi_level: Migration to 16.0 2024-03-26 08:57:58 +05:30
Lois Rilo
fbce10c68f [IMP] mrp_multi_level: avoid recursion on LLC calculation.
Introduce a safe and configurable LLC depth limit to avoid infinite
recursion.

Also, improve extensibility of BoM finding and fix it to not
consider archived BoMs.
2024-03-26 08:57:58 +05:30
Bernat Puig Font
7a8fb90f83 [FIX] mrp_multi_level: Descriptive order number in MRP Moves 2024-03-26 08:57:58 +05:30
Bernat Puig Font
f36e539ba6 [FIX] mrp_multi_level: Manage Kits in MRP Multi Level 2024-03-26 08:57:58 +05:30
Lois Rilo
bacbcd35ad [FIX] mrp_multi_level: do not include supplies on origin.
Planned orders' origin when groupping was including supplies
which could lead to confusion.
2024-03-26 08:57:58 +05:30
LaiaTForgeFlow
b781a4b168 [FIX]mrp_multi_level: avoid mixing str with boolean 2024-03-26 08:57:58 +05:30
Miquel Raïch
b85cdbe6b8 [IMP] mrp_multi_level: add utf8 encoding to xml files 2024-03-26 08:57:58 +05:30
Lois Rilo
3a24bc38f1 [IMP] mrp_multi_level: enchance traceability with origin.
* keept description of planned orders verbose.
* make it translatable in most cases.
* while grouping demand include the product in the description.
* add `origin` field not mrp moves and planned orders. Fill it
  with top level demand origin.
2024-03-26 08:57:58 +05:30
Jordi Ballester
726ccec7e8 improve usage of planned orders. - The description of the planned order includes the topmost requirement that caused the planned order. This makes it easier to trace, for example, what planned orders has a given sales order generated. The description of the planned order is passed on to the Manufacturing Orders / Purchase Orders / Transfers as the origin, so it can be possible to search for PO's / MO's that were originated as a result of a given sales order, for example.
- The MRP Inventory tree view is improved so as to add a button to allow you to
  jump to the planned orders.
2024-03-26 08:57:58 +05:30
Lois Rilo
20cd0decd9 [FIX] mrp_multi_level: date_planned required as date object after change upstream.
Due to aec7fcdb69.
2024-03-26 08:57:58 +05:30
NuriaXForgeFlow
9dd164cbd2 [FIX] mrp_multi_level: Fix case when Purchase Uom is different from Uom and PO in draft 2024-03-26 08:57:58 +05:30
Jordi Ballester
11fa1fa52a [FIX] mrp_multi_level: Use running on hand quantity in mrp.inventory
We need to show the projected on hand as it evolves over time.
2024-03-26 08:57:58 +05:30
Christopher Ormaza
6eb561e1c3 [15.0][MIG] mrp_multi_level 2024-03-26 08:57:58 +05:30
Christopher Ormaza
0695f56084 [IMP] mrp_multi_level: black, isort, prettier 2024-03-26 08:57:58 +05:30
Jordi Ballester
63041f9072 [14.0][mrp_multi_level][imp] improve speed by creating mrp.move records using the create_multi capabilities 2024-03-26 08:57:58 +05:30
Jordi Ballester
bf380e82de [mrp_multi_level][fix] allow to procure from planned orders 2024-03-26 08:57:58 +05:30
Lois Rilo
a0e7070dd0 [FIX] mrp_multi_level: Consider timezone of the warehouse to generate mrp inventory records. 2024-03-26 08:57:58 +05:30
Lois Rilo
81d46dac95 [14.0][FIX] mrp_multi_level: error with 3 step delivery.
If the destination moves do not include a MO, the mrp move end
up without a name that raises an error later. This can happen
with 3 setep delivery but also with in more cases in wich there is
a chain of stock moves.

We ensure that the variable `order_number` always have a value.
2024-03-26 08:57:58 +05:30
Lois Rilo
95f5a575a7 [MIG] mrp_multi_level: finish migration of test 2024-03-26 08:57:58 +05:30
davidborromeo
5d14c1f5c0 [MIG] mrp_multi_level: Migration to 14.0 2024-03-26 08:57:58 +05:30
davidborromeo
0d5d4bf7ff [IMP] mrp_multi_level: black, isort, prettier 2024-03-26 08:57:58 +05:30
Jordi Ballester Alomar
3506fbb00f [FIX] mrp_multi_level: when a bom has quantity multiplier, consider it 2024-03-26 08:57:58 +05:30
AaronHForgeFlow
2192602527 [IMP]mrp_multi_level
* let third modules to choose wether to continue exploding or not

This is useful for subcontracting and potentially for other flows.
2024-03-26 08:57:58 +05:30
Matt Taylor
2df002c917 [FIX] mrp_multi_level: Check BoM Line Attrs
add a call to mrp.bom.line._skip_bom_line() method
fixes #505
2024-03-26 08:57:58 +05:30
Núria Martín Xifré
6afbef1bb5 [13.0][IMP] mrp_multi_level: index llc 2024-03-26 08:57:58 +05:30
hveficent
11391ddcff [IMP] mrp_multi_level:
* Stock Moves Domain moved to product mrp area
2024-03-26 08:57:58 +05:30
OCA-git-bot
036e6d1900 pre-commit update 2024-03-26 08:57:58 +05:30
Lois Rilo
ae7a10d0a9 [11.0][FIX] mrp_multi_level: origin for "mv" was never being set.
Also, improve mrp.move by using picking name if the move is part of a picking.

[13.0] set "mo" as origin also for material consumption moves.
2024-03-26 08:57:58 +05:30
hveficent
ae95609b34 [IMP] mrp_multi_level:
* Planned Order release and due date become required.
* Add button to Product MRP Area to update MOQ from Supplier Info.
* Link Manufacturing Orders with Planned Orders.
* Allow Mrp Inventory Procure Wizard to be used from other models.
* Make MRP Inventory creation more extensible.
* Main Supplier computation (v13 requires explicit False definitions).
2024-03-26 08:57:58 +05:30
hveficent
13bab76498 [IMP] mrp_multi_level: Minor changes
* Planned Orders become fixed on manual creation by default
* Released Quantity become readonly
* Add product reference if Planned Order name is not defined on bom explosion
2024-03-26 08:57:58 +05:30
hveficent
1bd8a2cbe3 [IMP] mrp_multi_level: Show supply method on mrp inventory 2024-03-26 08:57:58 +05:30
Lois Rilo
e1e5f42704 [13.0][MIG] mrp_multi_level 2024-03-26 08:57:58 +05:30
Lois Rilo
6de26bb868 [IMP] mrp_multi_level: black, isort 2024-03-26 08:57:58 +05:30
Lois Rilo
b582b1d1a1 [12.0][FIX] mrp_multi_level: when grouping demand, if supply and
demand moves have the same date it can happen that the supply is
effectively ignored if considered as staring move of the
grouping and there are more groups to be done after it.

A test case include in this fix depicts in detail the
the problem and ensures no regression.
2024-03-26 08:57:58 +05:30
Lois Rilo
4caa4ad0c7 [12.0][FIX] mrp_multi_level: creating undesired planned orders.
add another exclude point at planned order creation.
2024-03-26 08:57:58 +05:30
Lois Rilo
6cea6211e4 [12.0][MIG] mrp_multi_level:
* You can know integrate with different forecasting mechanisms.
  As a consequence integration with stock_demand_estimate is moved
  to a new module (mrp_multi_level_estimate).
* As agreed by the authors, the module is re-licensed to LGPL-3.
2024-03-26 08:57:58 +05:30
Lois Rilo
dd3afbc6a5 [11.0][MIG] mrp_multi_level: open MRP inventory screen if manually run 2024-03-26 08:57:58 +05:30
Lois Rilo
e308751cd5 [11.0][IMP] mrp_multi_level: able to group demand estimates or to ignore them. 2024-03-26 08:57:58 +05:30
Lois Rilo
b0bc51ce6c [11.0][FIX] mrp_multi_level: pass a context to exclude hook when exploding. 2024-03-26 08:57:58 +05:30
Lois Rilo
eacba99da2 [11.0][IMP] mrp_multi_level: able to procure from a different location than area's. 2024-03-26 08:57:58 +05:30
Lois Rilo
68a7cb40cb [11.0][REW/IMP] mrp_multi_level:
* Extract concept of planned orders from mrp.move.
* Fix error grouping demand when there is no supply for a the first day of grouping.
* Adapt tests.
2024-03-26 08:57:58 +05:30
Lois Rilo
64e88d6be1 [11.0][IMP] mrp_multi_level:
* Able to run MRP only for selected areas.
 * Clean logging messages.
2024-03-26 08:57:58 +05:30
Lois Rilo
f9cd5f733a [11.0][IMP] mrp_multi_level: be able to group demand when generating supply proposals 2024-03-26 08:57:58 +05:30