Commit Graph

54 Commits

Author SHA1 Message Date
Alexandre Fayolle
33329e0d5f [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-12-04 09:42:26 +05:30
Alexandre Fayolle
9d288ee154 [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-12-04 09:42:26 +05:30
BernatPForgeFlow
515bd9b420 [FIX] mrp_multi_level: Correct main supplier when changing sequence in Vendor Pricelist
When we change the sequence order of the Vendor Pricelist for a product, we firstly fetch the vendors and then we change the sequence. Then, when changing a sequence we try to get the first supplier but we do not get the desired result.
Reordering the suppliers allows to always get the first supplier in the list.
2024-12-04 09:42:26 +05:30
AaronHForgeFlow
c8de11dd74 [IMP] mrp_multi_level: access action 2024-12-04 09:42:26 +05:30
BernatPForgeFlow
784e40e8fc [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-12-04 09:42:25 +05:30
BernatPForgeFlow
1d13c0e799 [IMP] mrp_multi_level: Supply method computation for MRP Parameters
For each MRP Parameter, we will calculate its supply method based on the procurement rules path. We will go back in the rules until we find that the action is "buy" or "manufacture", or until the action is "Pull From" or "Pull & Push" and the supply method is "Take from Stock".

This means we will show what the latest rule is if we were to do a procurement. Although it would be possible that the final action does not end up being executed if stock already exists in one of the intermediate locations.
2024-12-04 09:42:25 +05:30
Lois Rilo
e51263113e [IMP] mrp_multi_level: better group operators
For initial OH, final OH and planned availability grouping with sum
does not provide any value, specially when grouping by product.
And avg though can be more interesting.

For demand and supply we could have more doubts and the sum can
make sense, so we keep it as is.
2024-12-04 09:42:25 +05:30
BernatPForgeFlow
d4de93f79a [IMP] mrp_multi_level: Add MRP Planner
For each MRP Parameter or for each Product in a MRP Area, we will be able to add a MRP Planner. Once this planner is set, he can filter himself in the MRP Parameters view, MRP Inventory view or MRP Planned Orders view.
2024-12-04 09:42:25 +05:30
joan
caf43f4cc4 [MIG] mrp_multi_level: Migration to 16.0 2024-12-04 09:42:25 +05:30
Bernat Puig Font
df8c1f961c [FIX] mrp_multi_level: Manage Kits in MRP Multi Level 2024-12-04 09:42:25 +05:30
Bernat Puig Font
322a9dba69 [FIX] mrp_multi_level: Recompute main supplier in MRP Parameter if we change MRP Area 2024-12-04 09:42:25 +05:30
Lois Rilo
093bd0d632 [IMP] mrp_multi_level: Archiving a product should archive related MRP parameters 2024-12-04 09:42:25 +05:30
Lois Rilo
2d7b0e9450 [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-12-04 09:42:25 +05:30
Jordi Ballester
03744c275c 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-12-04 09:42:25 +05:30
Lois Rilo
79af3fa591 [IMP] mrp_multi_level: allow to specify distribution LT 2024-12-04 09:42:25 +05:30
Bernat Puig Font
6a9f645b70 [14.0][FIX] mrp_multi_level: Get mrp_area company_id for supply method
Change from self.env.company to mrp_area_id.company_id to compute the supply method correctly in the area currently working.
2024-12-04 09:42:25 +05:30
Christopher Ormaza
b335a85d2d [15.0][MIG] mrp_multi_level 2024-12-04 09:42:25 +05:30
Christopher Ormaza
3a2e84b8f7 [IMP] mrp_multi_level: black, isort, prettier 2024-12-04 09:42:25 +05:30
Jordi Ballester
e4cea8f149 [FIX] mrp_multi_level: allow to delete product.mrp.area records
Planned orders and mrp moves are mostly data that is regenerated every time
that the multi level mrp is run.
2024-12-04 09:42:25 +05:30
Lois Rilo
3519eaa966 [FIX] mrp_multi_level: Consider timezone of the warehouse to generate mrp inventory records. 2024-12-04 09:42:25 +05:30
Lois Rilo
881b6407e2 [IMP] mrp_multi_level: show main supplier in mrp inventory 2024-12-04 09:42:25 +05:30
AaronHForgeFlow
64ff10eae0 [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-12-04 09:42:25 +05:30
Núria Martín Xifré
0dffeaf492 [13.0][IMP] mrp_multi_level: index llc 2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
28a9e1d501 fix error in _compute_order_release_date of mrp.inventory 2024-12-04 09:42:25 +05:30
hveficent
2a1c277c96 [IMP] mrp_multi_level:
* Stock Moves Domain moved to product mrp area
2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
15eee3405f Improving the management of planned orders:
* Add menu entry for planned orders
  * Add button to navigate from planned orders to linked manufacturing orders
  * Add action to convert planned orders to fixed
  * When changing the due date in a planned order the release date is recomputed
2024-12-04 09:42:25 +05:30
Lois Rilo
106e6fd14b [FIX] mrp_multi_level:
* remove unneded _rec_name.
* extend _name_search to be more inline with name_get.
2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
809faafb08 define a name_search strategy for the product_mrp_area 2024-12-04 09:42:25 +05:30
hveficent
e8cbf54a8d [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-12-04 09:42:25 +05:30
hveficent
0da15fcd89 [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-12-04 09:42:25 +05:30
Lois Rilo
49d97e5038 [13.0][FIX] mrp_multi_level:
* main supplier computation in multi company
* triplicated field in search view
2024-12-04 09:42:25 +05:30
hveficent
1bb0ef773c [IMP] mrp_multi_level: Show supply method on mrp inventory 2024-12-04 09:42:25 +05:30
Lois Rilo
8a17a4376f [13.0][MIG] mrp_multi_level 2024-12-04 09:42:25 +05:30
Lois Rilo
2c18d11916 [IMP] mrp_multi_level: black, isort 2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
529f39f86c add support for multi-company 2024-12-04 09:42:25 +05:30
Lois Rilo
d750aae31b [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-12-04 09:42:25 +05:30
Lois Rilo
2fa7bdd8cf revert unneded context addition 2024-12-04 09:42:25 +05:30
Lois Rilo
cb14d5516e [11.0][FIX] mrp_multi_level:
* remove duplicated fields in view
* fix issue using this module together with procurement_auto_create_group.
2024-12-04 09:42:25 +05:30
Lois Rilo
8ac88a4322 [11.0][IMP] mrp_multi_level: able to group demand estimates or to ignore them. 2024-12-04 09:42:25 +05:30
Lois Rilo
91bee78ae7 [11.0][FIX] mrp_multi_level: fix supply method computation and add required fields. 2024-12-04 09:42:25 +05:30
Lois Rilo
0fd2b35345 [11.0][IMP] mrp_multi_level: able to procure from a different location than area's. 2024-12-04 09:42:25 +05:30
Lois Rilo
4830795ff4 [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-12-04 09:42:25 +05:30
Jordi Ballester Alomar
4b1e05da41 Fixes, and add migration script 2024-12-04 09:42:25 +05:30
Lois Rilo
556f49e65f [11.0] mrp_multi_level:
* fix api.depends fields fro main supplier.
 * fix ordering and missing demo file in manifest.
 * Update README.
 * fix action_view* methods.
 * readd hook to exclude in mrp initialization
 * fix computation of qty available (it was considering several times sub-locations).
 * Remove contraint for outoing and incoming moves to be moved in/outside the company, they can be internal transfers.
 * mrp.moves visible with technical settings.
 * Show product and allow to search by it in mrp.inventory.
2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
6374b1ecac [11.0][mrp_multi_level] refactor mrp area 2024-12-04 09:42:25 +05:30
Lois Rilo
d88fa9fecd [11.0][FIX] Consider *Qty Multiple* on product to propose the quantity to procure. 2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
89953148d0 enable MRP view in product templates 2024-12-04 09:42:25 +05:30
Lois Rilo
4f168ea7cb [11.0][FIX] mrp_multi_level:
* calendar defined only in warehouse.
 * remove raw query.
2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
be9a7a7e22 rename 'date_to_procure' to 'order_release_date' 2024-12-04 09:42:25 +05:30
Jordi Ballester Alomar
aebb9d76cc change date_to_procure to consider working calendar 2024-12-04 09:42:25 +05:30