Commit Graph
214 Commits
Author SHA1 Message Date
Nicolas Martinelli 27f656a23e [FIX] mrp: duplicated raw materials
- Create Product A with a BOM which depends on a product with tracking
  "By Unique Serial Number" (Product B).
- Create a MO for Product A
- In the "Register lots" wizard, add two lines for "Product B", with the
  same serial number.

Nothing prevents the user to do it, even when the inventory is posted.

opw-709888
2017-03-15 14:01:04 +01:00
Denis Ledoux 04bb06fcb3 [FIX] mrp: Do not ask for to provide a lot if there is no finished product.
If `product_move` is an empty browse record
`produce_move.product_id.tracking` is `False`, not `none`,
and therefore
`produce_move.product_id.tracking != 'none'` returns True,
and it therefore asked to provide a lot for no reason.

opw-710748
2017-03-07 12:50:34 +01:00
Pratima Gupta c1c519a056 [FIX] mrp: attrs lot_id required in produce wizard
Commit b2cf955e made the lot_id always required in the
produce wizard of the manufacturing order (without work orders).

It should only be required when the finished product is tracked by lot.
2017-02-14 17:12:16 +01:00
Goffin Simon b2cf9559d6 [FIX] mrp: The field "lot_id" is required in MRP Product Produce
When producing in the view "MRP Product Produce", if the field "lot_id"
is empty, it raised a UserError. So the field is required.

opw:705143
2017-02-07 16:19:10 +01:00
Josse Colpaert 347f140fe6 [FIX] mrp: rounding issues and efficiency replacement
Before, when you would put a quantity in a BoM line that was not rounded
to its UoM (e.g. use 0.3 piece with rounding 1.0) it would not round this
quantity in the MO also (when exploding the BoM), and the user could also
enter a not rounded quantity himself for the quantity produced or
consumed.

The moves were split with the exact quantities, but the moves were validated
taking into account rounded quantities. This resulted in either moving 2
pieces instead of 1 (entering 0.7 or 1 piece) or raising an error telling
you can not process moves with 0 quantity (0.3 piece).

As product_efficiency and product_rounding was removed from the BoM/BoM
line in v10, if the rounding is correctly handled, the feature could work
like in v9, by e.g. putting 1.03 in the bom line (97% efficiency) and
rounding up when exploding the BoM (e.g. producing 10 pieces would put
it to 11).

When "producing", we round the produced qty to the product uom (it does
not make sense to produce 1.32 if your uom rounding is 1.0). The user
might now change the produced quantity, that's why we round-up when
validating the move: indeed, if the user slightly increase the produced
value (below the uom unit), it actually means he produced more.

This way, instead of not rounding anything and doing rounding behind the
scenes, leading to errors, we round everything and the user sees the
result directly.
2017-01-27 19:22:02 +01:00
Nicolas Martinelli e3ee78c7ef [FIX] mrp: start date
The start date of a manufacturing order is never set. One consequence is
that the Gantt view, which relies on this field, is never populated.

opw-693743
2016-12-07 15:50:31 +01:00
Nicolas Martinelli 3ea207b5c3 [FIX] mrp: potential traceback
- Create a MO for 500 Units
- Produce 500 Units
- In the "Finished Products" tab, change the produced quantity to 450

At that point, the button "Mark As Done" doesn't appear anymore.
Therefore, we need to change the "Quantity To Produce" to 450 => This
causes a traceback because of a division by zero.

Fixes #14499
opw-695269
2016-12-05 16:50:37 +01:00
Josse Colpaert 59c410ac5c [FIX] mrp: _compute_qty does not exist anymore, so needed to replace 2016-10-02 21:14:37 +02:00
Josse Colpaert 831baf7dd2 [FIX] mrp: workorder duration should be updated when updating manufacturing order qty 2016-10-02 21:14:36 +02:00
Josse Colpaert 8ec7c00e1e [FIX] mrp_byproduct: take into account operation where byproduct gets produced
As the field is not shown in the view, it is just done
because the field is still there and easy to do.
2016-10-02 21:12:56 +02:00
Christophe Simonis a7ba6cde9c [MERGE] forward port branch saas-12 up to 7134aff 2016-09-28 16:28:31 +02:00
Josse Colpaert 3597942721 [REM] mrp: Remove unnecessary stock_move_consume wizard and stock value variation and workcenter load report 2016-09-28 12:42:59 +02:00
Josse Colpaert bf8ac7c9d3 [FIX] mrp: default product when creating lots in produce wizard 2016-09-28 12:38:13 +02:00
Josse Colpaert 153a6d0814 [FIX] mrp: correct interpretation of explode's quantity parameter
In previous versions, the quantity passed to the bom_explode was the number
of times you needed to count the BoM.  If the BoM was for 2 dozens and you pass
48 units, 2 was passed to the bom_explode method.  We are now doing the same
for the explode method and we check it is called this way everywhere.
2016-09-28 12:38:13 +02:00
Josse Colpaert 24a16f5db5 [FIX] mrp, mrp_byproduct: updating the quantity of production orders fixes
When updating quantity, it should take use a similar
method as for generating the moves, but with
the quantity already produced (and posted) deduced.
The parameters for these method needed to be changed.

When all the moves are posted,
we should create the necessary extra moves.
If the quantity is put back to the quantity posted, it
might also need to delete moves.
In byproduct, it should take into account the subproduct factor.

When the quantity produced  on the work orders has reached the quantity to do,
it should not allow anymore to use the "Done" button on work orders, but
rather use the Finish button instead.  With the Update button on the manufacturing order
it is possible to do more.
2016-09-28 12:38:13 +02:00
Josse Colpaert ca7b15b58c [FIX] mrp: typo Produced Qty -> Quantity To Produce 2016-09-28 12:38:13 +02:00
Josse Colpaert 4475610b4d [FIX] mrp: only show produce button when not done, product readonly in produce wizard and move_id necessary to make onchanges work 2016-09-28 12:38:13 +02:00
Josse Colpaert 8f44f38b84 [IMP] mrp: "produce" wizard should set MO to "in progress" state 2016-09-28 12:38:13 +02:00
Christophe Simonis 235ed4b2c1 [MERGE] forward port branch saas-12 up to 9ad5f26 2016-08-20 18:08:19 +02:00
Thibault Delavallée efd55ab8a5 [REF] various: rename openerp node to odoo in xml files 2016-08-10 15:48:10 +02:00
Thibault Delavallée 838a6f2000 [FIX] varioius: fix digits_compute attribute changed to digits in new API 2016-08-09 11:00:10 +02:00
Thibault Delavallée 0f0ca1c133 [REF] product_uom, *: clean quantity computation methods
product_uom._compute_quantity is an ensure one multi method taking a browse
record as second paramter. It replaces _compute_qty and _compute_qty_obj
to have a single and standard computation method.
2016-08-01 15:05:32 +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
Christophe Simonis 60c9cac46b [MERGE] forward port of branch saas-9 up to 87a01c7 2016-02-17 18:07:21 +01:00
Christophe Simonis a6cf37e930 [MERGE] forward port of branch saas-6 up to 0a1362a 2016-02-15 14:46:27 +01:00
Denis Ledoux fcd10521e9 [MERGE] forward port of branch 8.0 up to 5401345 2016-02-15 11:37:27 +01:00
Denis Ledoux 5401345ce2 [MERGE] forward port of branch 7.0 up to ce38582 2016-02-15 11:36:02 +01:00
Denis Ledoux ce38582907 [FIX] mrp: update production quantity wizard factor
Use the same factor than the one used when
computing the products to consume at confirm.

Before, the quantity of products to consume was wrong
when using a different unit of measure in the BOM
than in the production order.

e.g.
 - BoM defined as:
   - 1 dozen of milk
   - BoM lines: 1 cow
 - Production order:
   - 1 unit of milk
   - BoM: The above one
At confirm, the quantity to consume is 0,083 cow (1 cow / 12, this is correct)
But, when updating the quantity to 2.0,
it updated the quantity of cow to 24.0, instead of 0,16.

opw-669447
2016-02-15 11:34:16 +01:00
Yannick Tivisse d5704262bd [IMP] Stock: Several improvement on locations and warehouses settings
- Separate group_stock_multiple_locations into 2 groups:
  o group_stock_multi_locations
  o group_stock_multi_warehouses
- Add a selection fields to manage the 3 levels of warehouses management complexity:
  o Manage 1 WH with 1 location
  o Manage 1 WH with multi locations
  o Manage multi WHs with multi locations
- Display the menuitems and fields accordingly
- On a company creation : Create a related Warehouse
- stock.location : Add a helper on the parent location
- stock.warehouse : Add a helper on the company_id field
2016-02-04 11:19:09 +01:00
Nicolas Martinelli 055f47ef41 [FIX] mrp: wizard
Removes unnecessary separator and newline which prevent the product
quantity to be displayed.

opw-658281
2015-12-10 10:22:36 +01:00
Olivier Dony af4a60b941 [MERGE] Forward-port 8.0 up to rev. 26d0fe6d9f 2015-09-30 02:53:59 +02:00
Stefan Rijnhart 5f79cbd029 [FIX] mrp: display lot_id in production wizard if full tracking
Show lot_id on production wizard
if product is fully tracked
(but not marked specifically for production tracking

Closes #4223
2015-09-28 14:19:57 +02:00
Nicolas Martinelli 3d9e2a6cb7 [IMP] mrp*: adaptation due to the new Sale module
Major changes:
- No use of UoS anymore

Reason: complete rewrite of the Sale module.

Responsible: fp, dbo, nim
2015-08-27 18:10:19 +02:00
Ronak Baxi 393f136509 [IMP] *: Uniformize all modal footers
The main button has classnames btn btn-primary.
Other buttons have classnames btn btn-default.
No more 'or' between the buttons.
2015-08-19 08:10:45 +02:00
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Christophe Simonis 63e92cbc96 [MERGE] forward port of branch 8.0 up to 9abf868 2015-07-22 14:09:00 +02:00
Jay Patel 521c21bf7f [IMP] MRP: Press green arrow to consume product qty more than before consumed create new line
Avoid creating negative stock move and do basically the same
as would have been done when using the Produce wizard
2015-07-16 18:06:46 +02:00
Josse Colpaert d2b4b3909e [IMP] stock: Improve lots with serial numbers, define lot tracking by picking type and convert stock with lot False to a lot when necessary
Instead of having only outgoing, manufacturing, incoming, all... traceability on the product,
we can define on the product if there is no tracking, lot tracking or unique serial number tracking.
On the picking type we can define whether we will only create lots for the picking type or use existing lots.

The lots are required when the product and the picking type demand it.

The option for serial number will check that each piece (quantity 1) has its
own serial number.

A lot splitting wizard is added on the pack operations in the picking form.

We want to be able to handle the case where we receive a lot of iPads e.g. and we
only assign a serial number when the product is delivered.  For this, when the product is
delivered, we see that we only have products with no lots.  When we see that we take something
without lot for something that needed one, we assign the lot to that piece of stock.

For negative quants: a positive quant with no lot can reconcile with a negative quant with/without lot,
a positive quant with lot, will preferably reconcile with a negative quant with the same lot, afterwards
with that without lot.
2015-07-03 17:50:35 +02:00
Olivier Dony 0bd4545348 [LEGAL] Use global LICENSE/COPYRIGHT files, remove boilerplate text
- Preserved explicit 3rd-party copyright notices
- Explicit boilerplate should not be necessary - copyright law applies
  automatically in all countries thanks to Berne Convention + WTO rules,
  and a reference to the applicable license is clear enough.
2015-06-02 03:16:04 +02:00
Christophe Simonis 0a65947499 [MERGE] forward port of branch saas-6 up to 648a558 2015-03-10 19:25:43 +01:00
fka-odoo 4da3faa5b7 [REM] base,mrp: remove deprecated XSL reports 2015-03-09 21:52:32 +01:00
Christophe Simonis 449f601f8e [MERGE] forward port of branch 8.0 up to 948befb 2015-03-09 12:40:57 +01:00
Denis Ledoux 948befbb34 [FIX] mrp: set decimal precsion on qty field for produce wizard
In manufacturing bom lines, digits_compute is set
to the precision 'Product Unit of Measure'.

It should be the case as well in the produce wizard,
otherwise you won't be able to change the quantity
within this wizard to the according product quantity precision

opw-629657
2015-03-09 12:23:14 +01:00
Simon Lejeune 07849e43fc [REM] mrp: remove workcenter load report 2015-01-21 15:22:23 +01:00
Goffin Simon 0fd773a486 [IMP] Cleanup and refactoring of exception handling
Unify and refactor exception handling in framework and addons.

The generic `except_osv` is now deprecated, and replaced by more specialized exception subtypes:
 - `UserError` (renamed from Warning, as it conflicts with the built-in `Warning`) raised when a non-technical error occurs during a business operation. It could be a missing information in the data provided by the user, or a misconfiguration.
 - `AccessError`: raised when any operation is denied because the user conducting it does not have the required access rights.
 - `AccessDenied`: raised when an operation that requires authenticated access is attempted via an unauthenticated request.
 - `MissingError`: raised when an operation is attempted on a record that does not exist.
 - `ValidationError`: raised when an operation violates a SQL or Python constraint.
 - All other exceptions are internal errors due to a system problem or bug, and raised untouched to the client-side, which should display a traceback.

All exceptions take a single message argument.

The `test_exceptions` module has been updated to showcase both new and old (deprecated) exceptions.

A great many old `except_osv` had a useless title with "Error!" or "Warning", those have been removed, as this is handled by the client-side widget that displays the messages.

This commit introduces a more consistent policy for logging errors and warnings:
 - All messages that do not require administrator attention should be logged at INFO level or lower. This includes all errors that are notified to the user in a friendly manner, even for access right problems or validation errors during business operations.
 - All messages that indicate a likely misconfiguration or malicious use by the users should be logged at WARNING level, as they typically require administrator attention.
 - All other unhandled internal errors cannot typically be handled by the user and should be logged at ERROR or higher level, as they require immediate administrator attention.
2015-01-16 17:15:18 +01:00
Leonardo Donelli 4a0b13ed92 [REF] remove vim modelines and resulting trailing blank lines
Let 2015 be a year without modelines!
cf #4174
2014-12-31 15:52:13 +01:00
Géry Debongnie 1f5a323f2f [FIX] add missing descriptions to many fields 2014-10-31 13:57:16 +01:00
Josse Colpaert 884a8ad4a5 [IMP] UoM corrections + Adapt tables in stock doc
[IMP] Float_compare before splitting moves in mrp
2014-09-30 10:31:33 +02:00