Before this commit:
Reserved column appeared with 0 qty when Delivery Order goes to done Stage
After this commit:
Hide Reserved column when Delivery Order goes to done stage.
This task is related to #1888361Closes: #27223closesodoo/odoo#28409
1. Product A - on stock 5 pcs.
2. SO - 7 pcs. of A
3. Generated picking has reserved 5 pcs.
4. Increase stock to 7 pcs. (Update qty on Hand)
5. Run procurement scheduler
6. Picking still has reserved 5 pcs.
The scheduler should take into account the moves partially available.
Fixes#27874
opw-1895622
closesodoo/odoo#28136
Usecase to reproduce:
- 6 units in stock
- reserve 3 units on a move
- reserve 3 units on another move
- validate a third move with 1 unit
It raise the error could not reserve more than you have in stock.
It happens because when free reservation stole reservation from
an exisiting move with too much quantity available, it continues the
loop instead of stopping.
This commit stop the loop once we have enough quantity taken.
opw-1895578
closesodoo/odoo#27935
The field lot_name is not initialised in many cases.
Steps to reproduce the bug:
- Set your user in the group called "Display Serial & Lot Number in Delivery Slips"
- Create a new stockable product P with setting tracking "by unique serial number"
- Create 10 serial numbers for P
- Purchase 10 units of P and select the 10 serial numbers created
- Create a SO where I selected 1 unit of P with its serial number and confirm it
- Go to the delivery slip and print the delivery slip
Bug:
The serial number was not printed in the delivery slip.
opw:1900735
closesodoo/odoo#28076
Typically if you use an onchange method to retrieve values on the server
and convert them to write it will also try to write empty values like
[(6, 0, [])] and this will crash as it has also the length of 3 but no
dictionary but a list
closesodoo/odoo#27937
Usecase to reproduce:
- Create a BoM for a product with route Manufacture
- Use replenish wizard in order to fill your stock
It traceback due to an infinite loop.
It happens because when the production order creates the raw
moves, it does not set a product template. However a default_product
template is in the context and is used as default value. So it creates
a raw move with the component as product.product and the production product
as template. Since they are related it will modify the product_tmpl_id
of the product.product. It result by having a component with the
finished product as template and it will use the same stock rules and
bom again and again.
This commit clean the context before running procurement rules.
opw-1890661
The stock refactoring between version 10.0 and 11.0 changes lots of views
in the inventory app. The picking form view lost in the refactoring the
'note' field.
This commit put it back in the view under the 'Additionnal info'. It was
not been removed from the pdf reports
closesodoo/odoo#27658
Accessing one2many items by their index seems to produce issue regarding the order. This commit fix the potential issue in the test by summing the two quant quantity instead of comparing them one by one.
closesodoo/odoo#27627
Usecase to reproduce:
- Archive a stockable product with quantity on hand
- Start an inventory with all products.
-> Archived product is displayed
It happens because the search is an SQL request that is build
and it thus does not benefits from the automatic search on active
objects.
This commit add an active search on quant for inventory lines.
Fixes#27302closesodoo/odoo#27384
- Open a picking (example WH/IN/00002)
- Unlock
- Edit Initial Demand (from 35 to 4 for example)
- Click on Save
An error occurs: 'Record does not exist or has been deleted.'
When saving, the following values are sent to the server (example):
`{'move_ids_without_package': [
[1, 31, {'product_uom_qty': 4, 'date_expected': '2018-10-02 08:27:14'}]
],
'move_line_ids_without_package': [
[1, 26, {'package_id': False, 'result_package_id': False, 'owner_id': False, 'lot_id': False}]
]}`
The field `move_ids_without_package` contains the new quantity. However,
decreasing the quantity will remove the reservation and therefore unlink
the move lines.
https://github.com/odoo/odoo/blob/718b0f8b63261e1312b5626d48de050b21a9dccf/addons/stock/models/stock_move_line.py#L349
This means that the field `move_line_ids_without_package` refers to IDs
which have been deleted when writing on `move_ids_without_package`.
We can make the field read-only if it is not displayed.
opw-1889802
Purpose
=======
They are a lot of places where we set an attribute 'groups' on a view element and:
- The group doesn't exist anymore
- The group xmlid is not correct
- The group xmlid exists but the modularity is not respected (example: group_stock_user
used in a view in the 'product' module).
Where it happends, nothing warns the user of the developer. The element is just never
rendered.
Specification
=============
Fix the occurences of bad groups definition
The inventory overview is made of kanban cards of picking types. There is a link to the picking type settings on each card. Before this commit, the link was partially ouside the card.
This commit adapts the business code to changes introduced by
the parent commit in order to keep the same behaviour as before.
All readonly=False fields will have to be checked afterwards to confirm
that the business case requires write access to the source field.
Targets commit d3530eb07e
Purpose
=======
[Follow up AL review]
Code cleanup and some improved models naming for the product configurator feature (see targeted commit).
Mostly changes the "product.attribute" related models.
Updated models:
- "product.product.attribute.value" to "product.template.attribute.value"
- "product.attribute.filter.line" to "product.template.attribute.exclusion"
- "product.attribute.line" to "product.template.attribute.line"
Updated fields:
- [sale_order_line in sale/sale.py] "product_custom_variant_values" to "product_custom_attribute_value_ids"
- [product_template_attribute_value in product/product_attribute.py] excluded_for is now a o2m instead of a m2m
- [product.attribute in sale/product_product.py] "create_variant" field is now a Selection with "no_variant" (old false), "always" (old true), "dynamic" (new value)
- [product in product/product.py] "product_attribute_value_ids" to "product_template_attribute_value_ids"
Steps to reproduce:
- Create a stockable product P with 2 quantity on hand
- Choose a delivery order in state 'done', unlock it and add a line with P
- Try to set 2 as done quantity and confirm the wizard
Bug:
A ZeroDivisionError(float division by zero) was raised.
opw:1886735
closesodoo/odoo#27547
Since demo data refactoring the lot name and reference has been
inversed. However the demo stock barcode sheet(oe) was not updated
and the scan of the lot trigger the warning unknown barcode.
We prefered to get back to LOT-00001 as name since we could modify the
label on the barcode to 0000047 but it does not reflect a lot name and
couldn't be unserstand by a user trying the demo data. We could also
keep the label LOT-00001 and modify the barcode content to 0000047 but
when the user would scan the LOT-00001, he will see 000047 on its screen
which is incomprehensible. So we choose the simple solution to keep
LOT-00001 as name and 0000047 as reference.
commit 96abf2ca90 moved package menu to
operation and rename it delivery package. However move it to opeation
could confuse the user and let him imagine that he is able to create the
package content from this menu which is not the case. This menu only
allow you to see the package, its location and its content.
Also package are not always delivery package since it could be use in
internal picking type so it's better to remove the 'delivery' from the
menu item.