El horario del mes se armaba a mano antes del día 15.
Los cursos, grupos y subgrupos ya vivían en el CRM como smart processes, pero el horario del mes siguiente se seguía armando de memoria y en papel: demasiadas reglas que sostener a la vez. Los solapes se veían ya en el aula — y los corregían las personas, no el sistema.
Escribimos sobre el CRM de caja un módulo propio de «Horario de grupos»: tres tablas dedicadas y cero cambios en el núcleo, de modo que las actualizaciones del CRM lo dejan intacto. El botón «Generar» distribuye los grupos del mes siguiente según la configuración de cada curso como un borrador editable; la coordinadora arrastra la ficha de un grupo a otro día, el horario se recalcula al instante y los solapes se marcan en rojo antes de aprobar nada.
Las reglas que antes vivían en la cabeza de la coordinadora —jornadas de ocho horas, alternancia de grupos largos y cortos, dos grupos del mismo curso nunca en las mismas horas— ahora se configuran por curso en el módulo. El acceso se reparte entre los roles de inspector, coordinador y administrador, el horario se imprime para cualquier periodo con filtros, y un clic en un grupo abre su ficha en el CRM. Una versión funcional llegó al servidor del cliente en dos semanas: unas 6.500 líneas de código y 73 tests unitarios.
Qué estorbaba
- ✗El horario del mes siguiente se armaba a mano antes del día 15
- ✗Las reglas — jornadas de ocho horas, alternancia de grupos largos y cortos — se llevaban de memoria
- ✗Dos grupos del mismo curso no podían coincidir en las mismas horas
- ✗La numeración correlativa de los grupos reinicia cada año
- ✗Los solapes aparecían cuando los alumnos ya estaban en el aula
Qué hace el sistema
Calendario de grupos
Cuadrícula de días laborables con fichas de grupo: curso, tipo, número, cantidad de alumnos. Los grupos que continúan del mes anterior llevan su marca; los solapes se resaltan en rojo.
Borrador en un clic
El botón «Generar» distribuye los grupos del mes siguiente según la configuración de cada curso — todavía no son grupos reales, sino un borrador editable.
Ajustes arrastrando
La ficha de un grupo se arrastra a otro día — el horario se recalcula al instante.
Impresión y navegación
Impresión del horario por período con los filtros aplicados; un clic en el grupo abre su ficha del CRM en un panel lateral.
Configuración y roles
Cada curso define cuántos grupos largos y cortos tiene y si participa en la generación automática; el acceso se reparte en tres roles: inspector, coordinación y administración.
Cómo está organizado
Las decisiones de ingeniería.
Cero cambios en el núcleo
El módulo vive en un directorio aislado y usa los mecanismos estándar de la plataforma: tablas propias, controladores y la API de smart processes.
Planificador de «olas»
Los grupos de un curso van por olas: los paralelos comparten franja horaria y los secuenciales van uno tras otro; la ola llena la jornada de ocho horas y traslada el resto al día siguiente.
Finalización en dos fases
Primero se crean las fichas en el CRM y luego una transacción actualiza las tablas propias del módulo — un fallo a mitad no deja el horario creado a medias.