## Descripción Actualmente, cuando se cancela una orden de laboratorio, las muestras asociadas permanecen activas y no se descartan automáticamente. Esto puede causar confusión ya que quedan muestras "huérfanas" en el sistema que ya no tienen una orden válida. ## Comportamiento esperado Cuando se cancela una orden de laboratorio: 1. Todas las muestras generadas asociadas a esa orden deben cambiar automáticamente su estado a "cancelled" 2. Si hay pruebas (lims.test) asociadas a esas muestras, también deben cancelarse 3. Se debe registrar en el chatter de la muestra que fue cancelada debido a la cancelación de la orden ## Criterios de aceptación - [ ] Al cancelar una orden de laboratorio, todas sus muestras asociadas se marcan como canceladas - [ ] Las pruebas asociadas a las muestras también se cancelan - [ ] Se registra un mensaje en el chatter de cada muestra indicando la razón de cancelación - [ ] Si una muestra ya estaba cancelada o completada, no se modifica - [ ] La acción es reversible: si se vuelve a poner la orden en borrador, las muestras NO deben reactivarse automáticamente ## Notas técnicas - El método a modificar es `action_cancel()` en el modelo `sale.order` - Verificar el campo `generated_sample_ids` para obtener las muestras asociadas - Solo cancelar muestras que estén en estados: 'pending_collection', 'collected', 'in_analysis'