clinical_laboratory/issue_bug_selection.txt
Luis Ernesto Portillo Zaldivar c03afb7f76 fix(#67): Solucionar widget selection vacío en resultados
- Agregar campo computed selection_options_display que muestra las opciones disponibles
- Implementar método _compute_selection_options_display que obtiene opciones del parámetro
- Actualizar vista para mostrar las opciones disponibles debajo del campo de entrada
- Remover widget selection que no funciona con campos Char dinámicos
- Agregar placeholder descriptivo para guiar al usuario

El usuario ahora puede ver las opciones válidas (ej: "Negativo  < /dev/null |  Positivo")
y escribir el valor correcto en el campo de texto.

Scripts de prueba agregados para validar la solución.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 19:07:53 -06:00

48 lines
2.0 KiB
Plaintext

## Descripción del problema
Se detectó un bug en la vista de resultados de pruebas donde el campo value_selection con widget selection aparece vacío y no muestra las opciones disponibles definidas en el parámetro.
## Detalles técnicos
### Síntomas:
- En lims_test_views.xml, línea 92-93, el campo value_selection usa widget="selection"
- El widget aparece vacío sin opciones disponibles
- Los valores de selección están definidos en lims.analysis.parameter.selection_values (ej: 'Negativo,Positivo')
- El campo no puede recibir valores porque no tiene opciones visibles
### Caso de ejemplo:
- Test ID: 33
- Resultado ID: 46
- Parámetro: "Prueba de Embarazo"
- Opciones en parámetro: 'Negativo,Positivo'
- Valor actual en resultado: 'False' (incorrecto)
### Análisis realizado:
Se identificaron 12 parámetros de tipo selection con opciones definidas:
- Anticuerpos Hepatitis C: 'No Reactivo,Reactivo,Indeterminado'
- Prueba de Embarazo: 'Negativo,Positivo'
- Aspecto: 'Transparente,Ligeramente turbio,Turbio,Muy turbio'
- Etc.
## Causa raíz
El widget selection en Odoo espera un campo de tipo Selection con opciones predefinidas, pero value_selection es un campo Char. Las opciones dinámicas del parámetro (selection_values) no se propagan automáticamente al widget.
## Impacto
- Los usuarios no pueden seleccionar valores para resultados de tipo selection
- Los datos se guardan incorrectamente (ej: 'False' en lugar de 'Negativo' o 'Positivo')
- Afecta la calidad de los datos y la usabilidad del sistema
## Soluciones propuestas
1. **Opción 1**: Cambiar el widget a text para permitir entrada manual
2. **Opción 2**: Implementar un campo Selection dinámico que obtenga opciones del parámetro
3. **Opción 3**: Crear un widget personalizado que lea selection_values del parámetro relacionado
## Archivos afectados
- lims_management/views/lims_test_views.xml (línea 92-93)
- lims_management/models/lims_result.py (campo value_selection)
## Prioridad
Media-Alta: Afecta la funcionalidad básica de ingreso de resultados para ciertos tipos de análisis.