From a0657d1cd711d2ee259c8d667131e957af78e401 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Sat, 25 Oct 2025 12:24:26 +0200 Subject: [PATCH] Only delete requested shipments from the warehouses when supplying internal shipments Closes #14263 --- modules/stock_supply/shipment.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/stock_supply/shipment.py b/modules/stock_supply/shipment.py index 08963828fd..4efb5934c1 100644 --- a/modules/stock_supply/shipment.py +++ b/modules/stock_supply/shipment.py @@ -32,20 +32,26 @@ class ShipmentInternal(ModelSQL, ModelView): if not company: return + clean_request_domain = [ + ('state', '=', 'request'), + ('company', '=', company.id), + ] if not warehouses: warehouses = Location.search([ ('type', '=', 'warehouse'), ]) + else: + clean_request_domain.append( + ['OR', + ('to_location.parent', 'child_of', warehouses), + ('from_location.parent', 'child_of', warehouses), + ]) today = Date.today() lead_time = LeadTime.get_max_lead_time() if clean: - reqs = cls.search([ - ('state', '=', 'request'), - ('company', '=', company.id), - ]) - cls.delete(reqs) + cls.delete(cls.search(clean_request_domain)) # fetch quantities on order points order_points = OrderPoint.search([