-
- Downloads
[REF] stock: new quant implementation
The main idea of this new implementation is that stock.quant is now a cache of the quantity per location/lot/pack/owner key. We removed every identity per record, such as `history_ids` or `inventory_value` so that we can now avoid the linear creation of stock.quant records and are able to work with only one record per key. The algorithms to retrieve the quantity per key are made to work with multiple records, this way we can implement strategies to workaround postgres locks if concurrent transactions try to work on the same quant row. Quants will not be linked to moves anymore, this is in order to be able to edit stock moves more easily/freely. We removed the links with this commit and wipe out the `action_assign` on stock move. This will be implemented in a followup commit, once the relations between stock.move, stock.pack.operation and stock.quant are clarified. This commit seems to have unecessary diff, but it was done in order to run tests on the new implementation. We adapt the views by removing the fields not present anymore in the model. This include the complete removal of the inventory valuation view, as the implementation of stock valuation will be refactored and moved on stock.move in a following revision. We wipe out `action_cancel`, `recalculate_move_state`, `move_quants_by_lot_v10` and `quants_unreserve`. * `get_removal_strategy` moved from `stock.move` to `stock.quant` Stock quant model: * qty renamed to quantity * history_ids: because the quants are not moved * inventory_value: implementation moved to stock.move * packaging_type_id: doesn't seem to be used (in filters?) * propagated_from_id: because we do not split forced quants * reservation_id: because the reservation are not linked to the stock.move.line We remove the `lot_ids` computed field, as it depended on the link between stock moves and quants and could be replaced by a related to the move lines once the new relation between stock.move, stock.pack.operation and stock.quant is clarified in a further commit. Furthermore, the field was not displayed to the user.
Showing
- addons/mrp/models/mrp_production.py 1 addition, 6 deletionsaddons/mrp/models/mrp_production.py
- addons/product_expiry/models/stock_quant.py 2 additions, 2 deletionsaddons/product_expiry/models/stock_quant.py
- addons/stock/models/product.py 1 addition, 1 deletionaddons/stock/models/product.py
- addons/stock/models/stock_inventory.py 2 additions, 2 deletionsaddons/stock/models/stock_inventory.py
- addons/stock/models/stock_move.py 3 additions, 243 deletionsaddons/stock/models/stock_move.py
- addons/stock/models/stock_picking.py 1 addition, 18 deletionsaddons/stock/models/stock_picking.py
- addons/stock/models/stock_production_lot.py 1 addition, 2 deletionsaddons/stock/models/stock_production_lot.py
- addons/stock/models/stock_quant.py 185 additions, 520 deletionsaddons/stock/models/stock_quant.py
- addons/stock/report/report_stock_forecast.py 1 addition, 1 deletionaddons/stock/report/report_stock_forecast.py
- addons/stock/tests/test_product.py 6 additions, 2 deletionsaddons/stock/tests/test_product.py
- addons/stock/views/stock_move_views.xml 0 additions, 6 deletionsaddons/stock/views/stock_move_views.xml
- addons/stock/views/stock_picking_views.xml 0 additions, 2 deletionsaddons/stock/views/stock_picking_views.xml
- addons/stock/views/stock_production_lot_views.xml 3 additions, 13 deletionsaddons/stock/views/stock_production_lot_views.xml
- addons/stock/views/stock_quant_views.xml 6 additions, 38 deletionsaddons/stock/views/stock_quant_views.xml
Loading
Please register or sign in to comment