Plataforma técnica · Sevastopol
Operaciones en Sevastopol
Islands Operaciones SII
Propósito
Section titled “Propósito”El dominio operaciones SII del frontend cubre la revisión de los documentos tributarios normalizados desde el SII (ventas, compras, boletas) y la operación del detalle contable que OperacionesService produce a partir de ellos. Es la superficie de auditoría y reproceso sobre la materia prima del libro mayor.
Se materializa en una sola island — OperationsViewIsland — con dos exports distintos: el modo all muestra las tres pestañas (VENTA, COMPRA, BOLETA), y el modo ingresos muestra solo VENTA + BOLETA y se reutiliza desde Ingresos View Island como pestaña interna.
Decisiones de UX
Section titled “Decisiones de UX”| Decisión | Motivo |
|---|---|
| Un solo componente, dos exports | Las pestañas de ingresos son un subconjunto de las pestañas totales; duplicar la island multiplicaría las llamadas a /api/operaciones. La prop mode filtra qué pestañas mostrar. |
| Estado por tipo separado del listado | El resumen de contabilización (EstadoContabilizacionResumen) se consulta independiente del listado de filas. Permite bloquear reprocesos cuando hay documentos protegidos sin re-fetchar las filas. |
| Reproceso por período + tipo | Generar detalle operacional es por (anio, mes, tipo), no por documento. El backend procesa todos los documentos elegibles en una transacción. |
| Reversa de ingresos solo cuando aplica | El botón Reversar contabilización está sólo disponible para VENTA y BOLETA (ingresos) en estado contabilizado — compras tienen contrapartida distinta y otra ruta. |
| Período activo dirige la consulta | Cambiar año o mes en el workspace recarga las filas y el resumen del tipo activo. |
OperationsViewIsland no toca otros dominios | El detalle de un activo fijo, gasto o inventario que emerge de una compra lo gestionan las islands respectivas (activos-fijos-island, gastos-island, inventario-island). Esta es solo la vista del documento SII normalizado. |
Lenguaje compartido
Section titled “Lenguaje compartido”La island usa el IslandBase con WorkspaceTabBar, WorkspaceSectionCard y InlineMetricPill — los mismos tokens que finanzas y administración. No comparte un *Workspace.tsx específico de operaciones porque el lenguaje es genérico.
Hooks compartidos
Section titled “Hooks compartidos”| Hook | Uso |
|---|---|
useActiveTenant | Tenant del CRUD; recarga estado + filas al cambiar tenant o tipo. |
useActivePeriod | Año + mes del workspace; ambos forman la query ?anio&mes&tipo. |
Backend de referencia
Section titled “Backend de referencia”OperacionesService maneja: ingesta del SII (vía ETL Nostromo), normalización al esquema interno, generación del detalle contable (clasificación por concepto, contrapartida de cuenta), persistencia idempotente y reversa de ingresos.
Endpoint base
Section titled “Endpoint base”/api/operaciones/* vía createProxy — ver BFF Proxy. Lateral usado: /api/accounting/read para algunas lecturas auxiliares.
Relación con otros dominios
Section titled “Relación con otros dominios”- Activo fijo, gastos, inventario consumen los documentos SII normalizados por este dominio; sus islands ofrecen la vista contable específica de cada uno.
- Declaraciones (F29) usa el agregado de ventas/compras del período para armar el formulario.
- Ciclo contable lee el estado de contabilización de operaciones como uno de los pasos del cierre mensual.
Estas relaciones cruzan dominios y se documentan en cada destino, no aquí.