diff options
| author | William Henrotin <whe@odoo.com> | 2021-05-04 15:54:22 +0000 |
|---|---|---|
| committer | William Henrotin <whe@odoo.com> | 2021-05-06 13:38:11 +0000 |
| commit | 363c1916c40d0a85ea4d8e08223b78a4ef30d61a (patch) | |
| tree | e84b802b6237983ea77835de7c4407956e1210e9 /addons/purchase_stock | |
| parent | c449fcb6274c9e68d4470423b5e2d91df3566615 (diff) | |
[FIX] stock, purchase_stock: read virtual_available in batch
Performance improvement for missing products computation.
- Call _prepare_sellers only once
- _compute_quantities works in batch for product with the same
context. Use this advantage to speedup the computation of virtual
available for each warehouse and delivery date.
Diffstat (limited to 'addons/purchase_stock')
| -rw-r--r-- | addons/purchase_stock/models/stock_rule.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py index 51c68706d31..f6a14616e50 100644 --- a/addons/purchase_stock/models/stock_rule.py +++ b/addons/purchase_stock/models/stock_rule.py @@ -149,10 +149,11 @@ class StockRule(models.Model): """ delay, delay_description = super()._get_lead_days(product) buy_rule = self.filtered(lambda r: r.action == 'buy') - if not buy_rule or not product._prepare_sellers(): + seller = product._prepare_sellers() + if not buy_rule or not seller: return delay, delay_description buy_rule.ensure_one() - supplier_delay = product._prepare_sellers()[0].delay + supplier_delay = seller[0].delay if supplier_delay: delay_description += '<tr><td>%s</td><td class="text-right">+ %d %s</td></tr>' % (_('Vendor Lead Time'), supplier_delay, _('day(s)')) security_delay = buy_rule.picking_type_id.company_id.po_lead |
