There is 2 major issues with the production of multiple serials number - Performance issue - Duplicated code with classic backorder mechanism The performance issues exist since backorders were create one by one and `stock.move` and `stock.move.line` are always recomputed. They are not created in batch neither. _generate_backorders is removed and replace by _split_productions. The functionality are the same. Technicaly it does the maximum in batch, first it creates all the `mrp.production` then all the `stock.move` and finaly, it splits the existing `stock.move.line` among the new `stock.move` It means that the reservation is not recompute anymore during a backorder process and will remain the same than the splitted production order. Performance metrics (10 components): | 2 | 10 100 1000 before | 0.47s | 2.84s | 32.25s | 580.53s ----------------------------------------------- after | 0.13s | 0.36s | 2.60s | 35.17s task 2633369 Part-of: odoo/odoo#77254
18 lines
469 B
Python
18 lines
469 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
from . import test_bom
|
|
from . import test_byproduct
|
|
from . import test_cancel_mo
|
|
from . import test_order
|
|
from . import test_stock
|
|
from . import test_stock_report
|
|
from . import test_warehouse_multistep_manufacturing
|
|
from . import test_procurement
|
|
from . import test_unbuild
|
|
from . import test_oee
|
|
from . import test_traceability
|
|
from . import test_multicompany
|
|
from . import test_backorder
|
|
from . import test_smp
|
|
from . import test_performance
|