Commit Graph
38 Commits
Author SHA1 Message Date
Pierre Masereel 8d65763f93 [FIX] stock: MTO move status
When we validate a SO with an MTO product, then an RFQ and a delivery
picking are created. The status of the delivery picking is in state
'confirmed', but should be 'waiting' as the delivery waits for a
specific delivery input.

The problem is caused by the unreserve method, which is called in the
'procurement_jit' module. This method only checks that a move has
ancestors to determine if the move should be in waiting or in confirmed,
which is not the case for our delivery move because the RFQ has not been
validated yet so there is not ancestors yet.

To fix this issue, we check the 'procure_method' of the move, and if it
is in 'make_to_order' we put it in 'waiting' instead of 'confirmed'.

We also fixed the function recalculate_move_state that could cause the
same problem.
2017-04-07 16:35:57 +02:00
Simon Lejeune be9dce625c [FIX] stock: inventory adjustment and negative quants
It is still possible to have negative and positive quants in the same
location because of returns: if you send something to the customer that
is not there and you return it, you will still be able to reserve the
returned goods to send to another client.

Before, if you would do an inventory adjustment, it would not take into
account these returned quants and their negative counterpart, which made
them difficult to get out of the system.

This fix takes them into account by creating two movements for one
inventory line: move the positive counterpart to the inventory location
before getting back from this location the same quantity.

This way, even if you have 0 as quantity on hand but you have those 2
quants, it will eliminate them. (if you are increasing the stock, part
of the process might have done it automatically already).

Test cases contributed by @jir-odoo
2017-03-16 17:30:02 +01:00
Christophe Simonis 9ec95b2a68 [MERGE] forward port branch saas-11 up to 51b79a7ee1 2017-02-06 17:18:24 +01:00
Simon Lejeune 7d2cccfc12 [FIX] stock: manually process a pack
Before this patch, it was not possible to manually process a pack (i.e.
checking the "is_done" box), because the field was always reset
*before* saving. It was still possible to process it by hitting
"validate", but it was not possible to put a pack in a pack.

Manually process a pack means hitting the checkbox "is_done" on the pack
operation. This "is_done" field is a boolean computed field with a reverse
function, and this reverse function set the "qty_done" on the pack
operation to 1.0.

The compute field doesn't have any depends declared, so the value was
invalidated after any changes in the form view. The computed method was
used to check the checkbox is the "qty_done" is set to 1.0. It was
probably used to check the checkbox when opening later a picking for
which the pack was already processed.

The issue is that the "qty_done" was never updated, because the inverse
method is only called when saving, and the compute method already reset
the "is_done" field to False, as the "qty_done" was not updated.

To fix this issue, we do not use an inverse method but an onchange.
Indeed, this was the expected behavior: hitting the checkbox should
change the "qty_done".

We already have a test covering this use case, committed in v9 [1]. It
didn't discovered this regression because the test was using directly
the "qty_done" field on the pack operation, not the "is_done" field used
in the view. We change the test to use the "is_done" field and manually
trigger the onchanges.

This is due to a bad new API migration [2].

[1] rev e248420348
[2] rev d8548e0771
2017-02-06 12:00:36 +01:00
Christophe Simonis ba8a1c7ec2 [MERGE] forward port branch saas-11 up to e86983112e 2017-01-27 18:20:28 +01:00
Simon Lejeune c14ffc8339 [ADD][TEST] stock: picking's state according to its move lines
Tests 72 and 73 are proving the fix of rev XXX
2017-01-26 17:08:58 +01:00
Christophe Simonis 13dc7041a6 [MERGE] forward port branch saas-12 up to 1ef4061 2016-11-17 15:24:36 +01:00
Christophe Simonis 1ef4061e68 [MERGE] forward port branch saas-11 up to 3b2f4e2 2016-11-17 14:48:43 +01:00
Christophe Simonis 3b2f4e244f [MERGE] forward port branch 9.0 up to 7ee09ed 2016-11-17 14:37:19 +01:00
Christophe Simonis 7ee09ed0c1 [MERGE] forward port branch saas-6 up to 6d8d7a5 2016-11-17 13:11:04 +01:00
Josse Colpaert 1de37862d6 [FIX] stock: when matching moves with pack operations through quants, it did not match the packages correctly. Courtesy of Pedro Baeza
Before, it did a search to see if the package existed,
but the only thing it needs to do is see if the package
on the pack operation corresponds to that of the quant.  (no need to check children also)

There is a test added:
A picking with 120 pieces incoming, 120 in pack 1, 80 in pack2
When we deliver those in a picking out, with product pack operations: (by taking them out of the pack)

120 from pack 1 and 80 from pack2,
we should only have 2 quants and links between moves in the end

And before, it generated 3 because it matched the wrong quants and made the wrong links.

opw 693760 closes #13836
2016-11-16 11:26:20 +01:00
Christophe Simonis dece72d010 [MERGE] forward port branch saas-12 up to ca20038 2016-11-15 13:58:55 +01:00
Christophe Simonis ca2003839a [MERGE] forward port branch saas-11 up to 58f68cc 2016-11-15 13:19:55 +01:00
Christophe Simonis f93bada93e [MERGE] forward port branch 9.0 up to fb763f3 2016-11-14 14:56:14 +01:00
Pierre Masereel e248420348 [ADD] stock: test put pack in pack
We add a test checking that we can put a pack in a another pack.
2016-11-09 15:15:30 +01:00
Pierre Masereel 0d33621ad3 [FIX] stock: tests on stockable product
The tests are running on consumable product, it means that there is no
resevation of quants and verification of reserved quants when you create
and assign moves. So the tests are not really usefull with consumable
products.

To make the tests efficients, we set the products as stockable. And we
use 'reserved_availability' instead of 'availability' in tests
'test_10_pickings_transfer_with_different_uom' and in
'test_00_picking_create_and_transfer_quantity' be cause the assert is
done after the move reservation.

In test 'test_00_picking_create_and_transfer_quantity' when we check the
move_lines state after the action assign, the first and last should be
only 'confirmed, because they are partially available. When product
were not stockable, all lines were assign, because there was no check of
the reserved quants.

In 'test_10_pickings_transfer_with_different_uom' we removed the call
'picking_out.action_confirm()' and 'picking_out.action_assign()',
because they already have been called before.
2016-11-09 15:15:30 +01:00
Raphael Collet 0783318f97 [FIX] adapt logger names 2016-09-02 17:28:13 +02:00
Thibault Delavallée 53fe7e9fa6 [TESTS] mrp and various: updating tests 2016-07-04 16:22:37 +02:00
Srushti Patel 276559cbcc [IMP] stock: adjustment on product category + display exhausted products
Purpose:
For many SMEs, they print the inventory list, and then compare it with their
stocks. It is useful for them to see products with quantity = 0
Sometimes it is useful to see which product is exhausted, to check if it
matches the reality. If the product is not in the list, the user might
think that the system "forgot" about it.
When doing the starting inventory, all products = 0, the users don't want
to add it manually in the list.

Specification:
- Add the possibility to make the inventory of the product category
- Add a checkbox to also select stockable products with a quantity of 0
- Change the order in "Inventory of": it should be
	- All products
 	- One product category
	- One product only
	- Select products manually
- If "select one product only" or "select products manually" is true,
  hide "Include Exhausted Products".
- If "One product only" is selected, it should always display the product, even
  if the quantity is 0.
- When the inventory is started, the default sort should be done alphabetically
  on the product
- Hide the inventory location if "Manage only 1 Warehouse with only 1 stock
  location" is true.
2016-06-15 09:16:46 +02:00
Thibault Delavallée c287ed4c34 [TESTS] stock: Reactivate and update new Py tests 2016-04-29 12:18:50 +02:00
Thibault Delavallée d45996c915 [MIGR] stock: stock_picking
Picking models are migrated to new API. No change is performed to code
structure or functional structure. Some code cleaning may be performed when
migrating to simplify the code. Other files may be updated due to the move
towards the new API.
2016-04-29 12:18:40 +02:00
Thibault Delavallée bdd2080d04 [TESTS] stocl: Some new tests and yml to py
Including

 - unit tests for test/inventory.yml
 - unit tests for test/move.yml
 - unit tests for test/shipment.yml
 - integration of test_reuspply.py
 - integration of test_owner_available into test_product.py

New tests are temporarily deactivated. Indeed they rely on onchange methods
that will change during migration. Tests will be reactivated after migration
and updated.
2016-04-29 12:18:29 +02:00
Josse Colpaert 9d662e4798 [FIX] stock: add extra tests for lots and fix problem subtracting remaining qties
In this test, we set the incoming picking type not
to require any lots.  The outgoing picking requires lots
and should convert the stock without lot into stock with lot.
2015-09-29 15:09:00 +02:00
Josse Colpaert 22b81b92e1 [IMP] stock: instead of splitting the pack operation by lots, we allow for multiple lots by pack operation
When scanning multiple serial numbers e.g., the list of pack operations
can become quite long.  In order to avoid that, we make it possible
for pack operations to contain multiple lots.

The implementation is done in the way that the links between moves
and pack operations remains the way it was.  The important difference
is that on action_done, it will check all the reserved quants and their lots at
once first and only afterwards, it will check the lots one by one to check what
it can reserve.

As the details for the lots for the pack operation became a real object, the wizards related
to the pack operation details are not necessary anymore and were replaced
by a form view of the pack operation.
2015-08-25 10:07:30 +02:00
Christophe Simonis 73e652818b [MERGE] forward port of branch saas-6 up to 8d95f6d 2015-08-15 16:57:35 +02:00
Alexandre Fayolle 74b7b97209 [FIX] stock: let resupply from warehouse work
If you set WH B to be resupplied from WH A, then the scheduler will
generate a procurement with warehouse_id = B and location_id = B.stock.
Running the procurement will find the resupply rule, and this will
create another procurement with warehouse_id = A and location_id =
transit location.

However, without this patch, the resupply route is not part of the
route_ids of warehouse A, and so the 2nd procurement goes in exception
because if cannot find a rule (the search will force a rule linked to a
route which is part of A.route_ids).

Closes #7956
2015-08-12 08:14:48 +02:00
Josse Colpaert 2cb3a90c1c [IMP] Barcode interface and transfer wizard in picking form instead
Pack operations will not appear in a transfer wizard or bar code interface anymore, but
in the picking form itself.  Some wizards are still needed however to ask whether a
backorder needs to be created and whether we need to do an immediate transfer

The biggest change in the model is in the picking where the locations of the picking
are not a related anymore, but need to be set. That is why the tests need to be changed.
This allows also to have pickings without moves initially and just move one pack e.g.
Locations won't be visible on stock moves in a picking either.  (as they should be those of the picking)

In order to avoid confusion, the pack operations are created immediately when stock is reserved and we
are not waiting until the wizard or the bar code interface is launched anymore.

The recompute button previously in the barcode interface will only appear when the reservation changed
and the user indicated in the pack operations that something was moved already.  Otherwise it will
recompute the pack operations.  That way the reservation on the stock moves, is reflected by the pack operations.

Return pickings are not confirmed automatically when confirming the return wizard.
That should make it possible to choose another location for the return.  (Don't return in output e.g.)

Barcode scanning is not in this commit.
2015-06-15 10:18:17 +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
Leonardo Pistone 01f1d91006 [FIX] stock: use owner for virtual stock and in/out
Fixes odoo/odoo#5814.

It will also calculate virtual stock when lot/owner/pack is specified, but will
not filter the future stock on lot/pack.
2015-04-10 11:14:30 +02:00
Josse Colpaert 09abac7608 [FIX] Stock: Make sure inventory works with packs and lot = False
The inventory should work with packs.  If a pack is not indicated
in the inventory line, it means we correct the quantity for the product
that is not in a pack.

Also, when the lot is False, it should not behave as normal stock moves.
It should correct for the quantity that has no lot.

We try to reconcile the negative quants in the pack also.
2015-03-13 12:11:17 +01:00
Xavier Morel 65cd4a2a33 [FIX] remove deprecated checks/fast_suite test attributes from standard modules 2015-01-15 14:31:40 +01:00
Josse Colpaert 88169ec625 [FIX] Dozen / Ton spelling
Closes #4554
2015-01-06 17:21:41 +01:00
jir 6c23a9ca19 [ADD] Test cases of stock in new api. 2015-01-06 17:05:11 +01:00
jke-openerp 5bce036a6a Test on multiCompany updated + some other tiny bug
bzr revid: jke@openerp.com-20131015122216-m5itjbwouetc3loj
2013-10-15 14:22:16 +02:00
Quentin (OpenERP) 3494e46002 [FIX] temporary removed test suite of stock that will need to be set back later on. The problem is that the defauly_picking_type_id is not given in the context, leading to no default values for locations which raise a false positive in the tests
bzr revid: qdp-launchpad@openerp.com-20131011114514-y2vcnkgae70r5h4f
2013-10-11 13:45:14 +02:00
Quentin (OpenERP) c1a49a0544 [FIX] stock: removed test on stock.fill.inventory as the model doesn't exist anymore
bzr revid: qdp-launchpad@openerp.com-20131011065957-mgealr16658k5t24
2013-10-11 08:59:57 +02:00
Martin Trigaux 1d431fe4f8 [FIX] stock,mrp: move multicomp user to test instead of demo data
bzr revid: mat@openerp.com-20130828085019-cgbj6zrug73it3nw
2013-08-28 10:50:19 +02:00
Martin Trigaux 22a3ba7d66 [IMP] stock: convert yml test to python
bzr revid: mat@openerp.com-20130823115851-36tcrj17n5bme3uu
2013-08-23 13:58:51 +02:00