Commit Graph

66 Commits

Author SHA1 Message Date
Lois Rilo
54be37db1f [FIX] mrp_multi_level: when a product is a kit do not check rule
When you procure a kit, it doesn't matter what the route configuration
is on the product itself but on its children, so it is not needed to
check anything else but the BoM to assign the 'phantom' supply
method.

Also do not assign a BoM when the supply method is not phantom or manufacture.
2024-11-25 18:00:49 +01:00
Lois Rilo
2addf43706 [FIX] mrp_multi_level: readd extensibility hook
_should_create_planned_order hook was unnoticely removed in
33cf4af1ac as it was not needed
anymore in the base module. However it is still an extension point
that can be used.
2024-11-12 13:31:01 +01:00
OCA-git-bot
92883d3b6f Merge PR #1369 into 16.0
Signed-off-by LoisRForgeFlow
2024-11-08 09:26:19 +00:00
OCA-git-bot
3f3d8384bb Merge PR #1367 into 16.0
Signed-off-by LoisRForgeFlow
2024-11-07 08:48:04 +00:00
Matt Taylor
71920c35f9 [FIX] mrp_multi_level: check for variant bom
fixes #1366

Using the _bom_find() method, we get the BOM with lowest sequence, whether it's a variant
BOM or a template BOM (no product_id).
2024-11-04 13:18:25 -07:00
Matt Taylor
33cf4af1ac [FIX] mrp_multi_level: fix kit/phantom planning
fixes #1362

Ignoring qty_available for phantom products prevents double counting the
qty_available of components.

Creating planned orders for phantom products is simpler than recursively
exploding phantom BOMs. This also makes it easier to analyze the planning data
generated by the MRP calculation.
2024-10-29 07:53:58 -06:00
Matt Taylor
f1534187f4 [IMP] mrp_multi_level: mrp cleanup performance
- Index the planned_order_id column on mrp.production model
- Delete from mrp.planned.order before deleting from mrp.inventory
2024-10-22 09:38:16 -06:00
OCA-git-bot
d7eb6f8ac1 Merge PR #1330 into 16.0
Signed-off-by LoisRForgeFlow
2024-07-30 10:16:57 +00:00
JordiMForgeFlow
37661b2189 [IMP] mrp_multi_level: hook for method to get rule 2024-07-30 11:50:14 +02:00
OCA-git-bot
df2cb56857 Merge PR #1326 into 16.0
Signed-off-by LoisRForgeFlow
2024-07-29 14:31:15 +00:00
Jordi Ballester Alomar
4587caa27d [IMP] mrp_multi_level: add hooks to improve extensibility 2024-07-29 14:41:23 +02:00
AlexPForgeFlow
b0d1894b7f [IMP] mrp_multi_level: add MRP Area smart button on stock locations 2024-07-15 17:14:26 +02:00
Alexandre Fayolle
099c5a594e [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-01-24 08:33:13 -07:00
Alexandre Fayolle
22370b4b95 [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.
2023-12-13 16:14:35 +01:00
BernatPForgeFlow
d0a71eb4ba [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.
2023-11-30 09:32:54 +01:00
AaronHForgeFlow
9502f192df [IMP] mrp_multi_level: access action 2023-11-16 09:55:38 +01:00
BernatPForgeFlow
c79a90244f [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.
2023-04-26 15:20:36 +02:00
BernatPForgeFlow
b0a93099ac [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.
2023-03-02 13:25:33 +01:00
Lois Rilo
f1392ae8b0 [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.
2023-02-09 15:32:51 +01:00
BernatPForgeFlow
0d309aba1f [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.
2023-02-07 12:56:47 +01:00
joan
a2e4d80331 [MIG] mrp_multi_level: Migration to 16.0 2022-11-23 16:39:07 +01:00
Bernat Puig Font
fa4e442ed6 [FIX] mrp_multi_level: Manage Kits in MRP Multi Level 2022-11-21 11:16:14 +01:00
Bernat Puig Font
ba97520948 [FIX] mrp_multi_level: Recompute main supplier in MRP Parameter if we change MRP Area 2022-11-21 11:16:14 +01:00
Lois Rilo
d1ff94179e [IMP] mrp_multi_level: Archiving a product should archive related MRP parameters 2022-11-21 11:16:14 +01:00
Lois Rilo
57cd341c71 [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.
2022-11-21 11:16:14 +01:00
Jordi Ballester
27eff5d794 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.
2022-11-21 11:16:14 +01:00
Lois Rilo
a937d71925 [IMP] mrp_multi_level: allow to specify distribution LT 2022-11-21 11:16:14 +01:00
Bernat Puig Font
23b2d09319 [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.
2022-11-21 11:16:14 +01:00
Christopher Ormaza
57cf74ca68 [15.0][MIG] mrp_multi_level 2022-11-21 11:16:14 +01:00
Christopher Ormaza
2ef00de33c [IMP] mrp_multi_level: black, isort, prettier 2022-11-21 11:16:14 +01:00
Jordi Ballester
f868ef4f79 [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.
2022-11-21 11:16:14 +01:00
Lois Rilo
2da9b845fd [FIX] mrp_multi_level: Consider timezone of the warehouse to generate mrp inventory records. 2022-11-21 11:16:14 +01:00
Lois Rilo
f8e2f00190 [IMP] mrp_multi_level: show main supplier in mrp inventory 2022-11-21 11:16:14 +01:00
AaronHForgeFlow
1787329bc1 [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.
2022-11-21 11:16:14 +01:00
Núria Martín Xifré
569d364fba [13.0][IMP] mrp_multi_level: index llc 2022-11-21 11:16:14 +01:00
Jordi Ballester Alomar
5488161d68 fix error in _compute_order_release_date of mrp.inventory 2022-11-21 11:16:14 +01:00
hveficent
d27f4c9984 [IMP] mrp_multi_level:
* Stock Moves Domain moved to product mrp area
2022-11-21 11:16:14 +01:00
Jordi Ballester Alomar
0e5591b9ae 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
2022-11-21 11:16:14 +01:00
Lois Rilo
5279febfbb [FIX] mrp_multi_level:
* remove unneded _rec_name.
* extend _name_search to be more inline with name_get.
2022-11-21 11:16:14 +01:00
Jordi Ballester Alomar
41b2780fdf define a name_search strategy for the product_mrp_area 2022-11-21 11:16:14 +01:00
hveficent
2afa5905d5 [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).
2022-11-21 11:16:14 +01:00
hveficent
3925896588 [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
2022-11-21 11:16:14 +01:00
Lois Rilo
3b8c578e81 [13.0][FIX] mrp_multi_level:
* main supplier computation in multi company
* triplicated field in search view
2022-11-21 11:16:14 +01:00
hveficent
ac0c8f8898 [IMP] mrp_multi_level: Show supply method on mrp inventory 2022-11-21 11:16:14 +01:00
Lois Rilo
e00acc3ee6 [13.0][MIG] mrp_multi_level 2022-11-21 11:16:14 +01:00
Lois Rilo
a6110eed2d [IMP] mrp_multi_level: black, isort 2022-11-21 11:16:14 +01:00
Jordi Ballester Alomar
481d9586b2 add support for multi-company 2022-11-21 11:16:14 +01:00
Lois Rilo
16d2aff657 [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.
2022-11-21 11:16:14 +01:00
Lois Rilo
5b8b41422a revert unneded context addition 2022-11-21 11:16:14 +01:00
Lois Rilo
b94ab16d7f [11.0][FIX] mrp_multi_level:
* remove duplicated fields in view
* fix issue using this module together with procurement_auto_create_group.
2022-11-21 11:16:14 +01:00