diff --git a/purchase_request/models/purchase_order.py b/purchase_request/models/purchase_order.py index 558966b5017..a40158af86b 100644 --- a/purchase_request/models/purchase_order.py +++ b/purchase_request/models/purchase_order.py @@ -226,6 +226,11 @@ def _prepare_request_message_data(self, alloc, request_line, allocated_qty): } def write(self, vals): + # TRESCLOUD: Si se actualiza la cantidad del producto, se actualiza la fecha planificada a la fecha actual + # Esto desde una requisición de compra + # TRESCLOUD: FIN + if 'product_qty' in vals and self.env.context.get('ctx_update_date_planned', False): + vals['date_planned'] = fields.Datetime.now() # As services do not generate stock move this tweak is required # to allocate them. prev_qty_received = {} diff --git a/purchase_request/wizard/purchase_request_line_make_purchase_order.py b/purchase_request/wizard/purchase_request_line_make_purchase_order.py index 8386e264c4f..3cd35e3a1b9 100644 --- a/purchase_request/wizard/purchase_request_line_make_purchase_order.py +++ b/purchase_request/wizard/purchase_request_line_make_purchase_order.py @@ -218,6 +218,10 @@ def _get_order_line_search_domain(self, order, item): return order_line_data def make_purchase_order(self): + # TRESCLOUD: Se envía el contexto para determinar la fecha planificada al actualizar la cantidad + # Esto evita que se duplique la línea de movimiento en la transferencia + self = self.with_context(ctx_update_date_planned=True) + # TRESCLOUD: FIN res = [] purchase_obj = self.env["purchase.order"] po_line_obj = self.env["purchase.order.line"]