Commit Graph
42 Commits
Author SHA1 Message Date
Nicolas Martinelli 0a09992f9d [FIX] mrp: UoM category mismatch
- Create Product A with UOM of type Unit
- Create Product B with UOM of type Unit
- Create BOM of type Kit on Product A with Product B as a component
  with UOM of type Unit
- After saving BOM, change the UOM of Product B with UOM from another
  categories (e.g. kg) and save the product
- Try to access product list

A warning appears and prevent showing the products in any way.

It is caused by the call to `_compute_quantities`.

In this case, it is ok to skip the error. Indeed, it will raise later on
when trying to use the kit. But at least, it gives the possibility to
the user to access the product list.

opw-2393711

closes odoo/odoo#62537

X-original-commit: 6de2537ac82d9dad3cb3f56a7b9b35856681a6ad
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-11-27 13:39:19 +00:00
William Henrotin bebe4bd591 [FIX] mrp: open component quantity for kit
The 'On Hand' button triggers action_open_quants on product model. It
do not explode the kit into its component

closes odoo/odoo#62390

X-original-commit: 49b965eb1ec6a7ec6c07fa643cc6ae35ee8b5d91
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2020-11-26 11:33:00 +00:00
Goffin SimonandFlorent de Labarre 617cc39b6f [FIX] mrp: Wrong virtual_available on product.template with kit
Steps to reproduce:
- Let's consider a product.template TP with a kit
- Let's consider the variants V1, the only variant  of TP with a kit
- The virtual_availalbe of V1 is 100 (smart button Forecasted in the form view)

Bug:

The virtual_available of TP was 0 instead of 100
The virtaul_available of a product.template must be the sum of virtual_available of all its
variants with kit

PS: This commit changes the available quantity of product_product_table_kit in demo data.
As this quantity was not equal to 0, the type of the product could not be changed.

opw:2297226

closes odoo/odoo#57325

X-original-commit: 74b762da63e159b1965428b2bcb972293c4efea6
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: Florent de Labarre <florent.mirieu@gmail.com>
2020-09-09 08:29:33 +00:00
Goffin SimonandFlorent de Labarre 6b8d0432e2 [FIX] mrp: Wrong virtual_available on product.template with kit
Steps to reproduce:
- Let's consider a product.template TP with a kit
- Let's consider the variants V1, the only variant  of TP with a kit
- The virtual_availalbe of V1 is 100 (smart button Forecasted in the form view)

Bug:

The virtual_available of TP was 0 instead of 100
The virtaul_available of a product.template must be the sum of virtual_available of all its
variants with kit

PS: This commit changes the available quantity of product_product_table_kit in demo data.
As this quantity was not equal to 0, the type of the product could not be changed.

opw:2297226

closes odoo/odoo#55707

X-original-commit: 4df4ad023b9dd24edf75e8993d1d31c73ce26bc0
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: Florent de Labarre <florent.mirieu@gmail.com>
2020-08-19 07:21:43 +00:00
Martin Trigaux 6156f98288 [FIX] *: adapt action content retrieval
Use _for_xml_id to replace all the self.env.ref().read()[0]
This has the advantage of having a single point of control and to add
the fields filtering and model verification.

Add sudo for other operations on ir.actions.*
2020-08-17 09:09:02 +00:00
Andrea Grazioso (agr-odoo) 9ae9e7e0a6 [FIX] mrp: fix bom products quantity calculation in list view
Go to inventory>product variants (list view), search for
'FURN_78236'.
Set quantity on hand (qty_available) 50
Now, back in list view, adjust your search to FURN_7

QTY on hand for FURN_78236 is 0.

This occur because during the computation of qty_available, the bom
kits (FURN_78236) are calculated first, but the qty_available depends
on the bom lines products, which are calculated only at the end.
Since qty_available became protected by the global environment, it
cannot be recomputed recursively and it is not in cache, thus is 0.

Making the simple products compute first in the _compute_quantity fix
the issue

opw-2226417

closes odoo/odoo#48924

X-original-commit: f41c650f162021bb6c76736c7dcbe4eee059cec1
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-04-03 06:25:37 +00:00
yhu-odoo b08e3d114a [REF] stock,stock_account: archived products and quantities
PURPOSE

Keep consistent behavior of the stat buttons and the different stock
reports when archiving a product

SPECIFICATION

Currently, you can archive a product but the behavior of the different
stock reports, stat buttons isn't coherent afterwards. Here are the
different behaviors that should be improved:
1.Keep quantity on hand and forecasted quantity visible (in the stat
button + when opening it)
2.Automatically (un)archive RR and BOM if the product is (un)archived
3.Valuation report: show the archived products without the "archived"
filter (behaves already this way in the inventory and forecast reports)
4.When a product has been archived and still has quantity in stock,
include it in inventory adjustments for which counted quantity = default
to stock on hand (dont do so for archived exhausted products).

Also, revert #47478 since we don't have active field.

LINKS

Task 2178269
PR #45586
Fixes #41634

Related: odoo/upgrade#811
Related: odoo/enterprise#8513
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-03-13 08:37:26 +00:00
István Csányi 0665cebe73 [FIX] mrp: incorrect outgoing qty
- Create a new Product
- Add a BOM to this product
- Set the BOM to be a kit
- Add components to the BOM
- Create a PO for the components for a qty of 5
- Confirm the PO but don't transfer the products
- Check the phantom kits outgoing_qty and incoming_qty they will match

A Phantom Kit Products outgoing_qty and incoming_qty are identical

Closes #43447

closes odoo/odoo#43584

X-original-commit: 4b2e235be6cab947ce2e0b3b17b54530f984ce72
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-20 15:00:10 +00:00
Arnaud Baes fb19bd6938 [FIX] stock: Support for optional components in kit
When a BoM is using a component with a quantity required set to 0,
tracebacks were occuring when computing the available quantities
for the kit.

Fixes #38807

closes odoo/odoo#39267

X-original-commit: 7676269ba56c8e293ef4cd3dffbe7eccbad4a9d0
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-10-23 15:08:25 +00:00
William Henrotin a25c84b9cb [FIX] mrp: ensure all quantities are filled up
Computing quantities of a kit product made only of consumable
failed as the quantities are not initialized.

This commit makes sure this kind of products don't have their quantities set up
in mrp and so are set to 0 in stock

closes odoo/odoo#37382

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-09-24 14:17:45 +00:00
svs-odoo 5d75d07bad [FIX] mrp: product quantities by company
Before this commit, the product/product template computed mrp quantity
fields wasn't computed by active company but for all companies.
So, set `compute_sudo` on false for the different computed mrp quantity
fields of products and product templates to avoid to search with sudo
active and to search by company.
2019-09-13 12:25:25 +00:00
William Henrotin 60f2262df7 [IMP] mrp: compute quantities speedup
The computation of kit quantities was not efficient. A loop on each product
of the recordset to consider performed. Each time a product was seen as 'not a kit',
a new computation on the complete recordset was done. This leads to a N^2 complexity

This commit only compute stock quantities for non kit product in one batch
2019-08-21 12:16:27 +00:00
svs-odoo 629e8da14f [REF] mrp: remove duplication in mrp product
The method `action_view_mos` was written two times just for a difference
in the action's context.
2019-08-14 08:44:52 +00:00
William Henrotin fff2a30afb [IMP] sale_stock,sale_mrp: available quantities on sales order
Selling a product you don't have in stock anymore triggers a message
without pertinent information about available quantity.

This commit adds a little widget on sale order line to inform the salesman
there are not enough quantity available. Clicking on it will reveal:
* The estimated delivery date
* The actual quantity on hand
* The quantity forcasted at the estimated delivery date

For kit product, the quantities are the maximum occurence of kit available
regarding components quantities.

Task 2003485

closes odoo/odoo#34336

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-08-13 07:54:38 +00:00
William Henrotin bbd8d31cdd [IMP] stock: introducing free quantity on products
The stock module adds 4 quantities on products:
  Quantity on hand
  Incoming quantity
  Outgoing quantity
  and Forecast Quantity

Forecast Quantity is equals to Quantity on hand + Incoming quantity -
Outgoing quantity. Those two last ones are computed from the open stock
moves wainting to be validated but the reservation is not taken into account.
This commit introduces a fifth quantity 'free_qty' that acts like the forecast
one but only with reserved quantities.
2019-08-13 07:54:38 +00:00
Adrian Torres 4b38cc6590 [REM] *: calls to @api.multi
Multi is the default api for methods, it is not necessary to explicitly
decorate methods with it, adds clutter and most people use it because
they see that the rest of the code uses it.

Done with `find . -type f -name '*.py' | xargs sed -i '/@api.multi/d'`
2019-07-17 14:13:12 +02:00
Adrian Torres 9e71d57d11 [REM] *: remove calls to api.one and adapt code
Adapt all code that was using `api.one` to recordset-style method and
remove any and all calls to `api.one` in preparation for its removal.
2019-07-05 09:04:45 +00:00
Raphael Collet e0e9ae1edd [FIX] *: special cases for new records 2019-06-13 14:39:13 +00:00
Christophe Simonis 8c29df10e0 [MERGE] forward port branch saas-12.1 up to 93d736e905 2019-02-11 17:00:35 +01:00
Christophe Simonis 87924cb5ad [MERGE] forward port branch 12.0 up to a46138cb01 2019-02-07 13:14:02 +01:00
Arnold Moyaux 0336cbb50b [FIX] mrp: wrong domain in action_view_mos
Correct domain syntax

closes odoo/odoo#30767
2019-02-01 14:10:41 +00:00
Priyanka Kakadiya 4524ad06a8 [FIX] mrp: removed unexisting default filter
last_year_mo_order was removed in commit 4a350ff8cc. However it was still used in action_view_mos.
This commit adpat the action context in order to keep the same behaviour than previously.

task id 1922547

closes odoo/odoo#30347
2019-02-01 14:01:19 +00:00
Christophe Simonis 4400cce820 [MERGE] forward port branch saas-12.1 up to 4524ad06a8 2019-02-04 13:27:22 +01:00
Andrea Ulliana 4a350ff8cc [IMP] product: clean forms and improve archiving
Several last cleaning in the product and product variant form :
- various labelling and design improvements
- sales, purchased and manufactured stat button (number of sales was
incorrect and click will now open normal sales analysis)
- now archiving related product.template if there is only one active product.product

Task-1880039  closes #28633
2018-12-06 14:27:14 +00:00
Arnaud Baes db1c43649d [MOV] sale_mrp, mrp: compute quantities for kit
The quantities for kits were computed only if sale_mrp was installed.
That's why the override of the method 'compute_quantities' needs to be moved in MRP.

TaskID: 1929518

closes odoo/odoo#30271
2019-01-25 09:00:55 +00:00
Kirti Choudhary 5118d248cc [IMP] various: use uom in stat buttons
In purchase we add a stat button that counts the number of purchase
orders linked to the product.
In this commit we change this count to count the quantity of products
linked to a purchase order.

We basically do the same thing with the stat button of sale (sale
orders) and mrp (manufacturing orders).
2018-08-08 14:51:12 +02:00
Prakash Prajapati 3ae9dde258 [IMP] mrp: new filters on products
There was a filter 'Bom Components', that didn't filter anything. So we
make it work to show the products/product templates that are used as
components in BOM.

We've also added a filter 'Manufactured Products' that show the
products/product templates that have at least one BOM

TASK-54350
2018-04-10 09:00:17 +02:00
Sanjay Jamod 030f454fab [FIX] mrp: Display correct BoM count on state button
- Display correct bom count for product, before this commit it was
 not displaying the bom count when we have bom for template without variant.

task-39561
2018-04-09 15:39:19 +02:00
Christophe Simonis e0345a4a3f [MERGE] forward port branch 11.0 up to 2835d29979 2018-03-20 11:45:11 +01:00
Nicolas Martinelli 65214c01b5 [FIX] mrp: BOM count on product
- Create a Product A with attribute color and attribute values white and
  black.
- Create 3 products (Components 1, 2 and 3)
- Create a BOM for A like:
  Component 1, Variant column is empty
  Component 2, Variant white
  Component 3, Variant black
- Go to Inventory > Master Data > Product Variants, and open one of the
  2 variants of Product A

The BOM count is zero, while it should be 1.

The current implementation of `bom_count` doesn't take into account
attributes that can be set on the BOM line.

opw-1814973
2018-03-15 13:35:54 +01:00
Christophe Simonis c3746bc3dc [MERGE] forward port branch 11.0 up to 449ec5e29d 2017-11-07 15:33:04 +01:00
Martin Trigaux a7fda25301 [FIX] mrp: unclear label
Missing verb or something
Courtesy of Translators
2017-11-02 15:19:01 +01:00
Christophe Simonis a54c60b45a [MERGE] forward port branch 11.0 up to e918271f76 2017-10-27 14:30:33 +02:00
amoyaux 1d72dc3e6a [FIX] mrp: traceback BOM button on product template
[self.ids] represents a list of list and product_id
an integer thus the domain definition was not correct.
2017-10-25 10:59:14 +02:00
Fabien Pinckaers ea2a976f31 [FIX] Typo: delay --> lead time 2017-10-20 17:01:24 +02:00
Kirti Choudhary 72c1f07d53 [IMP] mrp: show boms in which a product has been used as a component 2017-09-05 16:53:12 -07:00
Wolfgang Taferner bf781cf740 [FIX] mrp: BoM count detection in case it is a single variant
In case a product is a single variant we should not leave it with a BoM
of zero as soon there is a BoM for its template. This would for example
hide the `compute_price` object button which relies on the `bom_count`to
be visible.

BoM is not found for a single variant product and compute price not
possible from the `product.product` view although it is implemented
actually there.

Closes #16237
2017-04-05 12:00:39 +02:00
Nicolas Martinelli 92d25e7f08 [FIX] mrp: BOM count
- Create a product with 2 variants
- Create a BOM specific for each variant
- Go in the product variant page

the stat button indicates 2 BOMs instead of one.

opw-725126
2017-03-27 08:31:51 +02:00
Josse Colpaert 777ea73f23 [FIX] mrp: make sure we see in mo from stat button when only one (was taking 2 domains) 2016-09-28 12:38:13 +02:00
Josse Colpaert 2ddc35a530 [REF][NEWPIE] mrp: new MRP
This commit contains the core of the new MRP. It contains a whole refactoring
of the MRP application, with improved and new features, written in new API.
Among other here are the main manufacturing workflow improvements :

 - Picking type not only for pickings but also for manufacturing orders
 - Properties replaced by picking type
 - BoM can only be produced with its routing (no other)
 - Either produce without routing with only production orders, or produce with
   routing
 - By default, there is an order in the work orders (serially), but you can
   override it to be able to work in parallel
 - Time clocking on work orders and block time on work centers with reporting
   on OEE, performance, losses, ...
 - Real-time adaptation of timings on operations
 - Lots/serial numbers can be inputted like in the pickings on manufacturing
   orders.  It is also possible to input them in the work orders.
 - Material availability independent of production order state (possibility to
   start production when only part of it is there)
 - Work sheets on work orders
 - Put messages on work orders to make your workers pay attention to something
 - Full traceability link to see for each produced piece of stock, the
   consumed pieces, ...
 - Separate scrap object (a scrap is not done based on an original move
   anymore)
 - Separate unbuild system (if you want to unbuild into its original
   components)

Thanks to all people that helped during this development, notably but not
limited to Chirag A Dodiya (cod@odoo.com), Gaurav Panchal (gan@odoo.com),
Jignesh Rathod (jir@odoo.com), Mansi Trivedi (mtr@odoo.com), Pariket Trivedi
(ptr@odoo.com).
2016-07-04 16:22:37 +02:00
Dhaval Panchal 30850f99f8 [MIGR] mrp: new API except mrp_production
MRP module is migrated to the new API. It excludes mrp models that will change
quit a lot during the new MRP conversion. Actually most of the code is not
migrated, but at least side models and their methods are already migrated.
This should lessen the diff when writing the new MRP.
2016-07-04 16:22:35 +02:00
Dhaval Panchal c8a39e734f [MOV] mrp: move and split
Split files and move them according to the new API guidelines. Containing

 - mrp splitted into its main models and files
 - stock code moved into its own models and files
 - various renaming
2016-07-04 16:22:35 +02:00