Referencia · S-PLAN

Ciclos, cortes y snapshots

S-PLAN mide el PDI por semestres. Un ciclo se abre con una ventana de fechas, recibe reportes y evidencias, y se cierra con un corte que congela el estado del plan en un snapshot inmutable. Esa foto es lo que sostiene los informes históricos.

Estado actual EN VIVO

Consultando el ciclo vigente…

Cómo se nombran los ciclos

La clave de ciclo es AAAA_S, donde S es 1 (enero–junio) o 2 (julio–diciembre). El PDI cubre cuatro vigencias a partir del año base 2024, es decir ocho ciclos:

Año del planVigenciaCiclosRango de fechas
año120242024_1 · 2024_201-01 a 06-30 · 07-01 a 12-31
año220252025_1 · 2025_201-01 a 06-30 · 07-01 a 12-31
año320262026_1 · 2026_201-01 a 06-30 · 07-01 a 12-31
año420272027_1 · 2027_201-01 a 06-30 · 07-01 a 12-31
Ojo con el desfase de nombres. El rango teórico de un ciclo se deriva del semestre, pero la ventana real de carga la fija el administrador y puede ser mucho más amplia (por ejemplo, el ciclo 2026_1 recibiendo evidencias hasta agosto). La ventana manda sobre el rango teórico.

La ventana de carga

Un único nodo controla si se puede cargar evidencia en toda la aplicación:

S-PLAN/config/ciclo_carga = {
  key:       "2026_1",                        // ciclo al que se imputan las cargas
  startAt:   "2026-01-20T05:00:00.000Z",      // apertura (ISO, UTC)
  endAt:     "2026-08-21T05:00:00.000Z",      // cierre
  closed:    false,                            // interruptor manual: bloquea de inmediato
  updatedAt: 1783005311474,
  updatedBy: "…@unitropico.edu.co"
}

El asistente de carga considera el ciclo abierto solo si closed es falso y la fecha actual cae dentro de la ventana. Cualquier otra combinación bloquea el formulario y muestra el motivo. Solo el rol admin-s-plan puede editar este nodo, desde el propio módulo de carga (Administrar ciclo de carga).

Cambiar key cambia el destino de todo lo que se cargue después. No mueve lo ya cargado: las evidencias del ciclo anterior siguen bajo su clave original. Si se abre un ciclo nuevo antes de tiempo, las cargas rezagadas del anterior quedarán imputadas al nuevo.

Cerrar un corte

El cierre se hace desde /s-plan/cortes y hace dos cosas: registra el corte y genera el snapshot.

1

Se registra el corte

En S-PLAN/cortes/{ciclo} quedan estado, rango de fechas, fecha tope, quién cerró y cuándo, más un bloque stats con las cifras del momento: avance global, totales de ejes, programas, proyectos, metas y acciones, e inversión.

2

Se copia el plan, verbatim

El motor de snapshots copia sin transformar los mismos nodos que lee el informe en tiempo real —esa es la garantía de paridad entre la vista viva y la histórica.

3

Queda disponible como histórico

El snapshot no se recalcula nunca. Si después se corrige un avance, el corte ya cerrado sigue mostrando lo que se reportó en su momento —que es precisamente lo que exige una auditoría.

Qué entra en un snapshot

En S-PLAN/snapshots/{ciclo} se copian:

Nodo copiadoContenido
ejesEl árbol completo: ejes → programas → proyectos → metas → acciones.
metas_con_ponderacionAvance efectivo, real y ponderado de las 120 metas.
metas_responsablesQué responsable tenía asignada cada meta en ese corte.
cumplimiento_meta_paaCumplimiento del Plan Anual de Acciones por meta.
inversionInversión total reportada del plan.
fecha_actualizacionMarca de la última carga masiva vigente en ese corte.
metaMetadatos del propio snapshot: ciclo, fecha tope, quién lo generó.
Las evidencias no se copian —ya están particionadas por ciclo en S-PLAN/evidencias/{ciclo}, así que el histórico es natural—. Tampoco se copian contratos ni alertas.

Regenerar un snapshot

Un corte cerrado puede regenerarse: vuelve a copiar el estado actual de la base sobre esa clave de ciclo. Es la herramienta correcta cuando se cerró con datos incompletos y se corrigieron enseguida; es la herramienta equivocada meses después, porque sobrescribe la foto histórica con la realidad de hoy.

Cortes registrados EN VIVO

CicloEstadoRangoCerradoAvance globalMetasAcciones
Cargando…

Preguntas que aparecen siempre

¿Puedo cargar evidencia de un ciclo ya cerrado?
No desde el asistente. La carga siempre se imputa al ciclo configurado en ciclo_carga. Si hace falta incorporar un soporte tardío, Planeación debe decidir si reabre la ventana (lo que afecta a todos) o si lo registra en el ciclo vigente dejando constancia en la descripción.
Cerré el corte y después corregí un avance. ¿Qué pasa con el informe?
El informe en tiempo real muestra la corrección; el informe del corte cerrado sigue mostrando lo que se reportó entonces. Es el comportamiento buscado: un corte es un hecho fechado, no una vista que se actualiza.
¿El cierre bloquea la edición del avance?
Bloquea la carga de evidencias. El avance de las acciones sigue siendo editable por quien tenga permiso, y por eso el snapshot es la referencia estable del corte.

Relacionado: Evidencias · Informes y reportes · Modelo de datos.