Skip to content

Plataforma técnica · Sevastopol

Operations View Island

Operaciones SII Islands Sevastopol

OperationsViewIsland es la interfaz frontend para revisar documentos SII normalizados y operar el detalle contable generado por OperationsService. La vista consulta ventas, compras y boletas por periodo, muestra el estado de generacion, permite reprocesar detalle operacional y reversar contabilizacion de ingresos.

La clasificacion contable, la persistencia y la validacion de reprocesos viven en Orchestrator. Sevastopol actua como interfaz operativa y proxy hacia /api/operaciones.

  • Directorysevastopol/src/components/islands/accounting/
    • OperationsViewIsland.tsx
  • Directorysevastopol/src/pages/api/operaciones/
    • […path].ts
  • Directorysevastopol/src/pages/api/accounting/
    • read.ts
ModoPestañas visiblesUso
allVENTA, COMPRA, BOLETAVista completa de operaciones SII.
ingresosVENTA, BOLETAVariante exportada para IngresosViewIsland.
const OPS_API = "/api/operaciones";
const [tab, setTab] = createSignal<OperationType>("VENTA");
HookAportaReactividad
useActiveTenantTenant activo para consultar documentos y ejecutar acciones.Recarga estado y filas al cambiar tenant.
useActivePeriodPeriodo mensual activo.Actualiza periodo desde y hasta, y recarga la vista.

La island mantiene signals locales para tipo documental, filas, loading y resumen de estado por tipo. El estado se consulta separado de las filas para bloquear reprocesos cuando hay documentos protegidos.

  1. Construir parametros con tenant, tipo documental y rango de periodos.

    const params = new URLSearchParams({
    tenant_id: tid,
    tipo_documento: tab(),
    periodo_desde: pDesde,
    periodo_hasta: pHasta,
    });
  2. Consultar resumen de contabilizacion.

    await authenticatedFetch(`${OPS_API}/estado-contabilizacion?${params}`);
  3. Consultar documentos normalizados.

    await authenticatedFetch(`${OPS_API}?${params}`);
  4. Renderizar metricas, detalle de estado y tabla de documentos.

AcciónEndpointRegla visible
Generar detallePOST /api/operaciones/generateDisponible si el periodo no tiene documentos protegidos.
Reprocesar detallePOST /api/operaciones/generate con forzar_reprocesoBloqueado cuando hay CONTABILIZADO o PAGADO.
Reversar ingresosPOST /api/operaciones/reversar-contabilizacionDisponible solo en modo ingresos y para VENTA o BOLETA.

Las compras no terminan en esta island. Despues de generar detalle, las lineas COMPRA se derivan por clasificacion de proveedor hacia:

DestinoIsland
ExistenciasInventarioIsland
Activo fijoActivosFijosIsland
GastoGastosIsland
EstadoLectura de interfaz
VACIONo existen documentos fuente ni detalle para el periodo.
PENDIENTEExisten documentos fuente, pero falta generar detalle.
VALIDADOLos documentos tienen detalle generado y pendiente de acciones posteriores.
CONTABILIZADOLas lineas aplicables ya fueron marcadas como contabilizadas.
PAGADOEl flujo posterior marco las lineas como pagadas.
PARCIALExiste mezcla de estados o avance incompleto.
INCONSISTENTEHay diferencias entre documentos fuente y detalle generado.
ReglaMotivo
Usar tenant activoLas operaciones pertenecen a la base tenant seleccionada.
Separar tipo documentalVentas, compras y boletas tienen reglas contables distintas.
Consultar estado antes de reprocesarEvita borrar detalle ya contabilizado o pagado.
Restringir reversa a ingresosCompras se consumen por flujos posteriores.
Recargar despues de cada accionMantiene la tabla alineada con Orchestrator.