Appearance
Preguntas sobre Lista de Precios - Automatico por Rango
INFORMACION REQUERIDA - Preguntas generadas durante analisis retrospectivo el 2026-02-09
Preguntas Criticas (Afectan la documentacion de negocio)
1. Funcionalidades deshabilitadas en el formulario
Observacion: En la vista lista-precios-rango.php, multiples campos y controles estan marcados como disabled:
- Radio buttons "Por codigo de articulo" / "Por codigo comercial"
- Select "Origen" y "Destino" (moneda $ / U$S)
- Radio button "Margenes por proveedor"
- Select "Orden" (Numerico / Alfabetico)
- Inputs "Desde proveedor" / "Hasta proveedor"
- Inputs "Desde linea" / "Hasta linea"
Pregunta: Estos campos deshabilitados representan funcionalidad planificada para implementar a futuro, o son remanentes de un diseno anterior que no se concretara? Hay planes de habilitarlos?
Impacto: Determina si la documentacion de negocio debe incluir estos filtros como funcionalidad futura o si deben omitirse completamente.
2. Filtro por proveedor comentado en JavaScript
Observacion: En lista-precios-rango.js, todo el bloque de carga de proveedores (lineas 87-130) esta completamente comentado. Sin embargo, la variable filtros.proveedorDesde y filtros.proveedorHasta se inicializan como null y se pasan como parametro a la busqueda de productos.
Pregunta: El filtro por proveedor fue deshabilitado intencionalmente por una decision de negocio o es una funcionalidad incompleta? Se pretende habilitar en el futuro?
Impacto: Afecta si el rango de productos puede o no filtrarse adicionalmente por proveedor, lo cual cambia significativamente la documentacion del proceso.
3. Dos metodos de generacion en un mismo endpoint POST
Observacion: El endpoint POST /api/mod-ventas/lista-precio maneja tres operaciones diferentes a traves de un campo method en el body:
por_rango: Genera lista por rango de productos con porcentaje de variacionganancia-margen: Genera lista por margen de ganancia sobre costodefault: Inserta un precio individual
Pregunta: Es correcto que ambos procesos de generacion automatica ("por rango" y "por margen de ganancia") compartan el mismo endpoint? Son considerados procesos independientes de negocio? Hay intencion de separarlos en endpoints distintos?
Respuesta: Se refactorizará en un futuro como todo recurso pero de momento quedan así
Impacto: Afecta la arquitectura documentada y si se documentan como un unico proceso o como dos procesos separados.
4. Relacion entre lista origen y lista destino
Observacion: El metodo generarListaPrecioPorRango copia el tipo_precio de la lista origen al destino. Los precios se calculan en el frontend aplicando el porcentaje de variacion y se envian ya calculados al backend.
Pregunta: Es correcto que el calculo del precio con porcentaje de variacion se realice en el frontend? Existe alguna validacion de negocio que deberia aplicarse en el backend sobre los precios calculados?
Impacto: Afecta donde se documentan las reglas de calculo y si hay riesgo de manipulacion de precios.
5. Tabla precios sin clave primaria
Observacion: La migracion 20240823200743_new_table_precios.php crea la tabla con 'id' => false (sin clave primaria). La clave compuesta natural seria (lista, numero), pero no se define explicitamente como PRIMARY KEY ni UNIQUE constraint.
Pregunta: Es intencional que la tabla precios no tenga clave primaria? Podria haber registros duplicados de un mismo producto en la misma lista? Esto podria causar problemas de integridad?
Respuesta: No posee FK de momento, sólo FK lógica como muchas de las FK del sistema
Impacto: Afecta la documentacion del esquema de base de datos y las consideraciones de integridad referencial.
6. Nivel de tenancy de la tabla precios
Observacion: La migracion define getDefaultLevels(): [LEVEL_EMPRESA, LEVEL_SUCURSAL], lo que significa que la tabla precios puede existir tanto a nivel empresa como a nivel sucursal. Sin embargo, el controller usa una unica conexion sin distinguir el nivel.
Pregunta: En la practica, las listas de precios son por empresa (compartidas entre sucursales) o por sucursal (cada sucursal tiene sus propias listas)? Como se determina de que nivel se leen/escriben los precios?
Impacto: Afecta la documentacion de multi-tenancy y como los precios se comparten o aislan entre sucursales.
Como Usar Este Documento
Este documento contiene preguntas que surgieron durante el analisis del codigo. Cada pregunta incluye espacio para agregar la respuesta:
Formato de respuesta:
Respuesta:
Una vez respondidas, estas respuestas se incorporaran a la documentacion final.
Estado de Validacion
- [ ] Preguntas criticas respondidas (6)
- [ ] Preguntas tecnicas respondidas (0)
- [ ] Respuestas validadas con stakeholders
- [ ] Documentacion actualizada con respuestas