From 730102d307dc247a74f0b93dd8aa8b70ab636eb4 Mon Sep 17 00:00:00 2001 From: Luis Ernesto Portillo Zaldivar Date: Sun, 13 Jul 2025 23:59:57 -0600 Subject: [PATCH] =?UTF-8?q?\"docs(#5):=20Actualizar=20plan=20con=20an?= =?UTF-8?q?=C2=A0lisis=20de=20valores=20por=20defecto\"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documents/plans/ISSUE5_PLAN.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/documents/plans/ISSUE5_PLAN.md b/documents/plans/ISSUE5_PLAN.md index 010c608..6385f5a 100644 --- a/documents/plans/ISSUE5_PLAN.md +++ b/documents/plans/ISSUE5_PLAN.md @@ -29,6 +29,8 @@ - [x] **Crear el Menú "Catálogo de Análisis":** - [x] Modificar `lims_management/views/menus.xml`. - [x] Crear una nueva acción de ventana (`ir.actions.act_window`). + - [ ] **(Nuevo)** Definir valores por defecto en el `context` de la acción para: `type`, `purchase_ok`, `categ_id`. + - [ ] **(Nuevo)** Crear la categoría de producto "Análisis Clínico" mediante un archivo de datos. - [x] Crear un `menuitem` para "Catálogo de Análisis". - [x] **Actualizar el Manifiesto (`__manifest__.py`):** @@ -39,3 +41,31 @@ - [x] Reiniciar la instancia de Odoo (`docker-compose down -v` y `docker-compose up -d`). - [x] Revisar logs de `odoo_init`. - [x] Verificar la funcionalidad en la interfaz de Odoo. + +--- + +## Consideraciones Adicionales para Valores por Defecto + +### 1. Análisis y Justificación + +Para mejorar la experiencia de usuario y asegurar la consistencia de los datos, se realizó un análisis para determinar qué campos del modelo `product.template` deberían tener valores por defecto al crear un nuevo "Análisis Clínico". Esta decisión se basa en el estudio del código fuente de Odoo 18 (`product.template.py`) y los documentos de requerimientos y diseño del proyecto. + +- **Análisis del Modelo `product.template`:** La revisión del modelo base de productos en Odoo 18 revel�� campos clave que definen el comportamiento de un producto en el sistema, tales como `type`, `sale_ok`, `purchase_ok`, y `categ_id`. Estos campos son fundamentales para que un producto se integre correctamente con los módulos de Ventas, Compras e Inventario. + +- **Relación con los Requerimientos y Diseño Técnico:** + - El documento `RequerimientoInicial.md` especifica que los análisis clínicos deben ser considerados **servicios facturables**. Esto justifica la necesidad de configurar los análisis como productos de tipo "Servicio" (`type='service'`) que se puedan vender (`sale_ok=True`). + - El documento `ToBeDesing.md` enfatiza la importancia de **categorizar** la información para mantener el sistema organizado y facilitar los filtros. Esto respalda la creación de una categoría de producto específica, "Análisis Clínico", para agrupar todos estos servicios y separarlos de otros productos que la empresa pueda manejar. + - Ambos documentos dejan claro que el laboratorio presta estos servicios, pero no los compra. Por lo tanto, deshabilitar la opción de compra (`purchase_ok=False`) es coherente con el flujo de negocio, evitando que los análisis aparezcan en contextos de compra. + +### 2. Propuesta de Valores por Defecto + +Basado en el análisis anterior, se implementarán los siguientes valores por defecto al crear un nuevo análisis clínico desde su menú correspondiente: + +| Campo en `product.template` | Valor por Defecto Recomendado | Justificación | +| :--- | :--- | :--- | +| **`type` (Tipo de Producto)** | `'service'` (Servicio) | Un análisis es un servicio prestado, no un bien físico. Esto evita que Odoo intente gestionar su stock. | +| **`purchase_ok` (Se puede Comprar)** | `False` (Falso) | El laboratorio vende análisis, no los compra. Esto limpia la interfaz en los flujos de compra. | +| **`categ_id` (Categoría de Producto)** | `Análisis Clínico` | Permite agrupar, filtrar y aplicar reglas contables específicas a todos los análisis clínicos. | +| **`sale_ok` (Se puede Vender)** | `True` (Verdadero) | Esencial para que los análisis puedan ser añadidos a las órdenes de laboratorio (órdenes de venta). | + +Estos valores se configurarán en el `context` de la acción de ventana (`ir.actions.act_window`) que gestiona la creación de nuevos análisis, asegurando que cada nuevo registro se cree con la configuración correcta de forma automática.