Appearance
Cotizacion Dolar - Resource
DOCUMENTACION RETROSPECTIVA - Generada a partir de codigo implementado el 2026-02-09
Modulo: Ventas Tipo: Resource Estado: Implementado Fecha: 2026-02-09
Descripcion
La Cotizacion del Dolar permite a los usuarios del sistema registrar y consultar el valor del dolar estadounidense en pesos argentinos para una fecha determinada. Este valor es utilizado como referencia en operaciones de venta, compras y calculo de stock dolarizado.
El sistema almacena una unica cotizacion por fecha. Al registrar una cotizacion para una fecha que ya tiene valor, el sistema sobreescribe el valor anterior. Adicionalmente, la pantalla muestra cotizaciones de referencia del dolar oficial y blue obtenidas de un servicio externo (dolarapi.com).
Frontend (Perspectiva de Usuario)
Vistas
- Formulario de Cotizacion Dolar: Pantalla unica que permite consultar la ultima cotizacion registrada y registrar una nueva cotizacion. Accesible desde el menu lateral de Ventas > Bases > Cotizacion Dolar (URL:
?loc=mvcd).
Interacciones del usuario
- Consultar ultima cotizacion: Al ingresar a la pantalla, se muestra automaticamente la fecha y valor de la ultima cotizacion registrada en el sistema
- Registrar nueva cotizacion: El usuario ingresa una fecha y un valor, luego presiona "Aceptar" para guardar
- Consultar cotizaciones de referencia: La pantalla muestra automaticamente las cotizaciones actuales del dolar oficial y blue (compra/venta) obtenidas de un servicio externo
- Cancelar: El usuario puede volver al menu principal de ventas sin guardar cambios
Permisos
- VENTAS_BASES_COT-DOLAR: Permiso requerido para acceder a la funcionalidad de cotizacion del dolar. Se valida para mostrar el item en el menu lateral del modulo Ventas, dentro de la seccion "Bases"
Estados de UI
- Carga inicial: Se carga la ultima cotizacion registrada y se pre-carga la fecha actual en el formulario
- Exito al guardar: Se muestra mensaje de confirmacion "Cotizacion registrada" y se redirige al menu principal de ventas
- Error de validacion: Si el valor ingresado es menor a 0, se muestra mensaje de error
- Error de guardado: Se muestra mensaje de error si falla la operacion de guardado
Backend (Perspectiva de Datos de Negocio)
Entidades de negocio
- Cotizacion Dolar: Registro que almacena el valor del dolar para una fecha determinada
Datos necesarios
| Dato | Obligatorio | Descripcion |
|---|---|---|
| Fecha | Si | Fecha a la que corresponde la cotizacion |
| Valor | Si | Precio del dolar en pesos argentinos (precision de 5 decimales) |
| Identificador | Automatico | Identificador unico auto-incremental de cada registro |
Relaciones de negocio
- La cotizacion del dolar es consultada por el modulo de Compras al registrar comprobantes del subdiario de compras (se almacena el valor del dolar vigente al momento del comprobante)
- La cotizacion es consultada por el modulo de Sensores para dolarizar montos de ventas y stock
Validaciones de negocio
- La fecha es obligatoria
- El valor es obligatorio y debe ser numerico
- El valor no puede ser menor a 0 (validacion frontend)
- Solo puede existir una cotizacion por fecha (si ya existe, se sobreescribe)
Reglas de negocio
Regla 1: Unicidad por fecha
- Condicion: Se intenta registrar una cotizacion para una fecha que ya tiene valor registrado
- Accion: Se actualiza (sobreescribe) el valor existente para esa fecha
Regla 2: Valor positivo
- Condicion: El usuario ingresa un valor menor a 0
- Accion: Se muestra error y no se permite el guardado
Regla 3: Pre-carga de ultima cotizacion
- Condicion: El usuario ingresa a la pantalla
- Accion: Se muestra automaticamente la fecha y valor de la ultima cotizacion registrada en el campo de valor, y la fecha anterior como badge informativo
Regla 4: Fecha por defecto
- Condicion: El usuario ingresa a la pantalla
- Accion: El campo fecha se inicializa con la fecha actual
Casos de uso
Caso 1: Registrar cotizacion del dia
Actor: Usuario con permiso VENTAS_BASES_COT-DOLAR
Precondiciones:
- El usuario debe estar autenticado en el sistema
- El usuario debe tener el permiso VENTAS_BASES_COT-DOLAR
Flujo principal:
- El usuario accede a Ventas > Bases > Cotizacion Dolar
- El sistema muestra la ultima cotizacion registrada como referencia
- El sistema pre-carga la fecha actual en el campo fecha
- El sistema muestra cotizaciones de referencia del servicio externo (dolar oficial y blue)
- El usuario ajusta el valor del dolar si es necesario
- El usuario presiona "Aceptar"
- El sistema registra la cotizacion
- El sistema muestra mensaje de exito y redirige al menu de ventas
Postcondiciones:
- La cotizacion queda registrada en el sistema para la fecha indicada
- Si ya existia una cotizacion para esa fecha, el valor fue sobreescrito
Flujos alternativos:
- Valor negativo: Si el usuario ingresa un valor menor a 0, se muestra un error y no se guarda
- Cancelar: Si el usuario presiona "Cancelar", se vuelve al menu de ventas sin guardar
Caso 2: Actualizar cotizacion existente
Actor: Usuario con permiso VENTAS_BASES_COT-DOLAR
Precondiciones:
- El usuario debe estar autenticado
- Ya existe una cotizacion para la fecha que se desea registrar
Flujo principal:
- El usuario accede a la pantalla de cotizacion
- El sistema muestra la ultima cotizacion como referencia
- El usuario ingresa la fecha para la cual desea actualizar la cotizacion
- El usuario ingresa el nuevo valor
- El usuario presiona "Aceptar"
- El sistema detecta que ya existe cotizacion para esa fecha y actualiza el valor
- El sistema muestra mensaje de exito y redirige al menu de ventas
Postcondiciones:
- El valor de la cotizacion para la fecha indicada fue actualizado
Caso 3: Consultar cotizacion de referencia
Actor: Usuario con permiso VENTAS_BASES_COT-DOLAR
Precondiciones:
- El usuario debe estar autenticado
- Conexion a internet disponible para consultar servicio externo
Flujo principal:
- El usuario accede a la pantalla de cotizacion
- El sistema consulta automaticamente el servicio externo de cotizaciones
- Se muestra una tabla con los valores de compra y venta del dolar oficial y blue
- El usuario utiliza estos valores como referencia para decidir que valor registrar
Postcondiciones:
- No se modifica ningun dato del sistema
Flujos alternativos:
- Sin conexion al servicio externo: Si el servicio externo no responde, la tabla de cotizaciones de referencia queda vacia pero la funcionalidad de registro sigue operando normalmente
Consideraciones
Seguridad
- Solo los usuarios con el permiso especifico VENTAS_BASES_COT-DOLAR pueden acceder a la funcionalidad
- El acceso esta controlado a nivel de sesion (se valida sesion activa)
- La operacion requiere autenticacion JWT
Auditoria
Nota (2026-02-09): No implementado en recursos legacy. Se agregará en refactorización futura a 5-layer DDD.
Rendimiento
- La consulta de ultima cotizacion es de bajo impacto (LIMIT 1 con ORDER DESC)
- El servicio externo de cotizaciones no bloquea la funcionalidad principal
Dependencias
Funcionalidades relacionadas
- Subdiario de Compras (Modulo Compras): Lee la ultima cotizacion del dolar para registrarla en los comprobantes de compra
- Sensores (Legacy): Utiliza la tabla de cotizaciones para dolarizar montos de ventas y stock
- Facturacion (Modulo Ventas): La tabla de facturas tiene un campo
dolar[REQUIERE VALIDACION - campo marcado como "sin uso" en migracion pero consultado por sensor legacy]
Servicios externos
- dolarapi.com: API publica que provee cotizaciones actuales del dolar oficial y blue argentino. Se usa solo como referencia visual, no se almacenan sus datos automaticamente
Criterios de aceptacion
- [x] AC-001: El usuario puede ver la ultima cotizacion registrada al ingresar a la pantalla
- [x] AC-002: El usuario puede registrar una nueva cotizacion ingresando fecha y valor
- [x] AC-003: Si ya existe cotizacion para la fecha ingresada, el sistema actualiza el valor existente
- [x] AC-004: El valor ingresado no puede ser menor a 0
- [x] AC-005: Se muestran cotizaciones de referencia del dolar oficial y blue
- [x] AC-006: La funcionalidad solo es accesible con el permiso VENTAS_BASES_COT-DOLAR
- [x] AC-007: Al guardar exitosamente, se muestra mensaje de confirmacion y se redirige al menu de ventas
Preguntas Pendientes
Hay preguntas sobre esta funcionalidad que requieren validacion. Ver: Preguntas sobre Cotizacion Dolar
Referencias Tecnicas
NOTA IMPORTANTE: Esta documentacion fue generada automaticamente analizando el codigo implementado. Se recomienda validar con stakeholders de negocio para confirmar que refleja fielmente los requisitos originales.