Manual de administrador
La operación de S-PLAN a lo largo del año: abrir y cerrar ciclos, validar lo que reportan las
dependencias, generar los cortes que sostienen los informes oficiales y mantener sana la estructura del plan.
Requiere el rol admin-s-plan.
El año de operación
La rutina se repite dos veces al año, una por ciclo semestral.
Abrir el ciclo
Desde el módulo de carga, Administrar ciclo de carga: define la clave (AAAA_S), las
fechas de apertura y cierre, y deja closed desactivado. Todo lo que se cargue mientras esté vigente
se imputa a esa clave.
Anunciarlo
Publica una alerta global con el plazo y un botón que lleve al módulo de carga. Es el canal correcto para hablarle a toda la comunidad; las notificaciones globales se ocultan para todos en cuanto una persona las lee.
Acompañar el reporte
Cada carga genera una notificación. Revisa las evidencias, fija su estado y usa el hilo de observaciones para pedir aclaraciones sin salir del sistema.
Cerrar el ciclo
Marca closed o deja que venza la fecha. A partir de ahí el asistente rechaza cargas.
Generar el corte
Desde /s-plan/cortes, cierra el corte del ciclo: se registran las estadísticas y se genera el snapshot inmutable.
Emitir el informe
Genera el informe técnico sobre el corte, no en tiempo real, y publícalo. Así el documento seguirá cuadrando dentro de un año.
Validar evidencias
Desde la ficha de meta, en la pestaña de evidencias del año correspondiente. Criterios:
| Estado | Cuándo asignarlo |
|---|---|
| Aprobado | El documento demuestra lo reportado, corresponde al periodo y es verificable. |
| Parcial | Es pertinente pero insuficiente para todo el avance reportado. Deja siempre una observación explicando qué falta. |
| Rechazado | No corresponde, es ilegible o pertenece a otra vigencia. La observación es obligatoria: sin ella el responsable no sabe qué corregir. |
| En validación | Estado inicial; también sirve para devolver a revisión algo evaluado por error. |
Carga masiva del plan
Es la operación más destructiva del sistema: reescribe el árbol completo. La secuencia segura es siempre la misma:
- Respaldar
S-PLAN/ejescompleto antes de tocar nada. - Verificar que la hoja se llama
S-PLANy que los encabezados coinciden exactamente. - Comprobar que las ponderaciones de acciones suman 1 dentro de cada meta, y las de metas suman 1 en el plan.
- Cargar fuera del horario de mayor uso.
- Abrir dos o tres metas conocidas y verificar avance, acciones e inversión.
Formato exacto de columnas: Carga masiva por Excel.
avance_meta ni
metas_con_ponderacion: eso ocurre cuando alguien abre cada meta. Tras una carga grande, los tableros
pueden mostrar valores previos hasta que las fichas se visiten o se actualicen los índices.Alertas globales
Se administran en S-PLAN/alertas_globales/{id}. Recomendaciones:
- Usa un id descriptivo y nuevo por campaña (
cierre_2026_2): publicar un id nuevo vuelve a mostrar el aviso incluso a quien descartó el anterior. - Define la ventana
desde/hastapara que caduque sola. - Elige el tipo con criterio:
warningpara plazos,dangersolo para incidentes. - Incluye siempre un
cta_urlque lleve exactamente a donde debe actuar la persona. - Retira la alerta con
activo: falsecuando el plazo pase.
Ajustar el avance de una meta
Cuando hay que mostrar un valor distinto del calculado, el mecanismo tiene tres partes y omitir cualquiera deja la aplicación incoherente:
- Registrar la meta en el mapa
overridesPersistentesde la ficha de meta — controla el porcentaje grande y la barra. - Registrarla también en
excepcionesTemporales— controla la gráfica de avance general. - Escribir el valor en la base para que los tableros lo reflejen sin esperar a que alguien abra la meta.
Mantenimiento de datos
Metas fantasma
Nodos con datos financieros pero sin id_meta ni titulo_meta. Nacen de escrituras en la
rama equivocada. Verifica contra indices_metas y elimínalos con respaldo previo.
Ids de acciones
La ficha itera las acciones por orden de clave: manténlas secuenciales y limpias
(A-031…A-037) para que se rendericen en el orden esperado.
Asignaciones
Revisa metas_responsables al abrir cada ciclo: los cambios de dependencia no se propagan solos.
Respaldos
Antes de cualquier intervención, guarda una copia fechada del subárbol en la carpeta de respaldos del proyecto. Es la convención esperada y ha salvado más de una migración.
Precauciones al editar el código
- Existen copias muertas de páginas vivas (
temporal.html,temporal222.html,dashboard copy.html). Son casi idénticas y aparecen primero en las búsquedas por texto: confirma qué archivo sirve la ruta antes de editar. - Las versiones del SDK de Firebase se fijan por página. Al añadir un módulo compartido, reutiliza la instancia ya inicializada en vez de crear otra.
- El servidor solo necesita reiniciarse si cambia
server.js; los cambios en páginas se ven al recargar.
Diagnóstico rápido
| Reporte | Primero revisa |
|---|---|
| “No puedo cargar evidencias” | Estado del ciclo (closed y ventana de fechas) y rol del usuario. |
| “No veo mis metas” | Rol responsable-s-plan y asignación en metas_responsables; ojo con códigos con espacios. |
| “El avance no me cuadra” | Que el último corte incluya los cuatro años y que las ponderaciones sumen 1. |
| “Cambié el avance y volvió atrás” | Hay un override en el código que se reescribe al abrir la meta. |
| “El informe da distinto que ayer” | Fuente del informe: tiempo real frente a corte cerrado. |
| “La aplicación no carga” | /s-plan/health y el proceso s-plan en el gestor. |
Referencias: Modelo de datos · Permisos · Infraestructura.