Commit Graph

61 Commits

Author SHA1 Message Date
BernatPForgeFlow
6f478d0060 [FIX] mrp_multi_level: Prioritize safety stock with mrp moves today
If I have 0 units, my safety stock is 5 units and today I have a supply for 10 units, the procurement recommendation should be 0 units
2024-02-14 15:21:31 +01:00
Lois Rilo
468d3f3a2b [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-02-14 10:08:12 +01:00
Lois Rilo
2c2338fbd9 [FIX] mrp_multi_level: wrong safety stock intial order in grouped demand mode
Three tests cases modelize the issues being solved.
2024-02-14 09:49:35 +01:00
Lois Rilo
9512488e1d [FIX] mrp_multi_level: ariable 'move' referenced before assignment 2024-02-14 09:47:21 +01:00
Alexandre Fayolle
b733ed9657 [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-02-14 09:36:24 +01:00
Alexandre Fayolle
090012c65a [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).
2023-12-14 09:46:05 +01:00
Alexandre Fayolle
8c08f905b0 [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:50:59 +01:00
Jordi Ballester
30d2c59c34 [mrp_multi_level][imp] improve speed by creating mrp.move,mrp.inventory records using
the create_multi capabilities
2023-10-17 17:02:25 +02:00
BernatPForgeFlow
91d526c0b2 [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:24 +02:00
Lois Rilo
28aff9f5c2 [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.
2023-01-11 09:48:01 +01:00
Lois Rilo
18f7e0fca2 [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.
2022-10-25 13:48:23 +02:00
OCA-git-bot
1344a85521 Merge PR #857 into 13.0
Signed-off-by LoisRForgeFlow
2022-09-30 07:04:03 +00:00
OCA-git-bot
2f7ed3d53d Merge PR #848 into 13.0
Signed-off-by LoisRForgeFlow
2022-09-20 11:54:54 +00:00
Bernat Puig Font
9ff08feff7 [FIX] mrp_multi_level: Descriptive order number in MRP Moves 2022-09-19 16:44:11 +02:00
Bernat Puig Font
b3ada62f90 [FIX] mrp_multi_level: Manage Kits in MRP Multi Level 2022-09-16 13:30:38 +02:00
Lois Rilo
7bc398d39d [FIX] mrp_multi_level: do not include supplies on origin.
Planned orders' origin when groupping was including supplies
which could lead to confusion.
2022-09-15 12:57:09 +02:00
Miquel Raïch
bbb7931963 [FIX] mrp_multi_level: add view in manifest 2022-06-17 17:07:42 +02:00
Lois Rilo
7ce74bc7f7 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-06-02 15:55:03 +02:00
Jordi Ballester
1f6385cef3 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-06-02 15:53:48 +02:00
OCA-git-bot
1ff20e289a Merge PR #757 into 13.0
Signed-off-by LoisRForgeFlow
2022-06-02 12:33:16 +00:00
NuriaXForgeFlow
746e05e5c9 [13.0][FIX] mrp_multi_level: Fix case when Purchase Uom is different from Uom and PO in draft 2022-03-01 10:17:01 +01:00
Jordi Ballester
a6dddd7630 [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.
2022-02-18 09:45:18 +01:00
Lois Rilo
2f9f1042eb [FIX] mrp_multi_level: Consider timezone of the warehouse to generate mrp inventory records. 2021-04-22 15:59:45 +02:00
Jordi Ballester Alomar
bd7607986a [FIX] mrp_multi_level: when a bom has quantity multiplier, consider it 2020-11-19 12:10:14 +01:00
AaronHForgeFlow
23b617f7a5 [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.
2020-11-04 09:53:34 +01:00
Matt Taylor
c59c61f34c [FIX] mrp_multi_level: Check BoM Line Attrs
add a call to mrp.bom.line._skip_bom_line() method
fixes #505
2020-10-29 16:32:15 +01:00
Núria Martín Xifré
5d5f3f0bf0 [13.0][IMP] mrp_multi_level: index llc 2020-09-14 10:31:44 +02:00
hveficent
a94b2406cd [IMP] mrp_multi_level:
* Stock Moves Domain moved to product mrp area
2020-07-16 13:23:24 +02:00
OCA-git-bot
8a6ed280b4 pre-commit update 2020-03-14 12:13:10 +01:00
Lois Rilo
7a3cdd2af7 [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.
2020-03-13 09:47:28 +01:00
hveficent
eab1941a5d [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).
2020-03-11 09:20:58 +01:00
hveficent
476fd79d85 [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
2020-02-28 13:12:36 +01:00
hveficent
071c577578 [IMP] mrp_multi_level: Show supply method on mrp inventory 2020-02-03 09:22:24 +01:00
Lois Rilo
d0765c3d87 [13.0][MIG] mrp_multi_level 2019-12-23 10:10:14 +01:00
Lois Rilo
cd26ec8c68 [IMP] mrp_multi_level: black, isort 2019-12-23 10:10:14 +01:00
Lois Rilo
9d1e489e54 [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.
2019-12-23 10:10:14 +01:00
Lois Rilo
01342a1c52 [12.0][FIX] mrp_multi_level: creating undesired planned orders.
add another exclude point at planned order creation.
2019-12-23 10:10:14 +01:00
Lois Rilo
f5483cb563 [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.
2019-12-23 10:10:14 +01:00
Lois Rilo
2ccba7fccd [11.0][MIG] mrp_multi_level: open MRP inventory screen if manually run 2019-12-23 10:10:14 +01:00
Lois Rilo
77e9825e0d [11.0][IMP] mrp_multi_level: able to group demand estimates or to ignore them. 2019-12-23 10:10:14 +01:00
Lois Rilo
ebe2e8a4d4 [11.0][FIX] mrp_multi_level: pass a context to exclude hook when exploding. 2019-12-23 10:10:14 +01:00
Lois Rilo
a0445e96b8 [11.0][IMP] mrp_multi_level: able to procure from a different location than area's. 2019-12-23 10:10:14 +01:00
Lois Rilo
6a86bbe7c5 [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.
2019-12-23 10:10:14 +01:00
Lois Rilo
d224b1931f [11.0][IMP] mrp_multi_level:
* Able to run MRP only for selected areas.
 * Clean logging messages.
2019-12-23 10:10:14 +01:00
Lois Rilo
56b12548b0 [11.0][IMP] mrp_multi_level: be able to group demand when generating supply proposals 2019-12-23 10:10:14 +01:00
Jordi Ballester Alomar
5c9bd4278e Fixes, and add migration script 2019-12-23 10:10:14 +01:00
Lois Rilo
c0c5fb861f [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.
2019-12-23 10:10:14 +01:00
Jordi Ballester Alomar
416c26f78d [11.0][mrp_multi_level] refactor mrp area 2019-12-23 10:10:14 +01:00
Jordi Ballester Alomar
1bbbf1d7df convert read_groups into sql queries due to issue with locale 2019-12-23 10:10:14 +01:00
Lois Rilo
7b322bb075 mrp_multi_level: date_planned must be passed on as datetime. 2019-12-23 10:10:14 +01:00