OperationsService
El OperationsService es el encargado de orquestar la generación, recuperación y mapeo de los documentos tributarios (Ventas, Compras, Boletas) desde las tablas contables del esquema operaciones_sii.
Características Clave
Section titled “Características Clave”- Generación de Detalles: Transforma registros “raw” de tablas
ventas/compras/boletasen detalle contable (compras_ventas_detalle). - Mapeo Unificado: Expone un método
findDocumentsque estandariza las columnas dispares de Ventas y Compras en una estructura común para el Frontend. - Filtrado Avanzado: Soporta filtrado por Tipo de Documento, Rango de Fechas (YYYY-MM), Paginación y Tenant.
- Reproceso: Permite regenerar la contabilidad de un periodo completo, eliminando detalles previos.
Dependencias
Section titled “Dependencias”- OperationsRepository: Acceso directo a base de datos para operaciones masivas.
- ConceptOperations: Catálogo de conceptos contables (Neto, IVA, Retenciones).
Métodos Principales
Section titled “Métodos Principales”generate(dbName, params)
Section titled “generate(dbName, params)”Genera los asientos contables (detalle) a partir de los documentos DTE sincronizados.
// Ejemplo de llamadaconst result = await OperationsService.generate(dbName, { user_id: "uuid-user", tipo_documento: "VENTA", periodo_desde: "2024-01", periodo_hasta: "2024-12", forzar_reproceso: true,});getDetails(dbName, filter)
Section titled “getDetails(dbName, filter)”Recupera la lista de documentos para visualización, aplicando mapeo de columnas.
// Ejemplo de llamadaconst docs = await OperationsService.getDetails(dbName, { tipo_documento: "COMPRA", periodo: "2025-01", limit: 100,});Mapeo de Datos
Section titled “Mapeo de Datos”El servicio unifica la respuesta para que el Frontend (OperationsViewIsland) pueda usar una única tabla.
| Campo Unificado | Origen Venta (ventas) | Origen Compra (compras) |
|---|---|---|
fecha_documento | fecha_docto | fecha_docto |
rut_emisor | rut_cliente | rut_proveedor |
razon_social_emisor | razon_social | razon_social |
monto_iva | monto_iva | monto_iva_recuperable |
Ubicación del Código
Section titled “Ubicación del Código”- Servicio: OperationsService.ts
- Repositorio: OperationsRepository.ts