Buenas tardes estimados.
Estamos teniendo un inconveniente en Preinscripción, cuando el alumno llena el formulario en la parte de estudios, completa los campos, intenta guardar y se genera este error:
clase: SIU\Chulupi\ErrorKernelDb
mensaje: : SQL ERROR: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "es_mayor_25_sin_secundario" violates not-null constraint
Estamos en la versión 3.22.0 de Preinscripción. Nos pasa tanto con alumnos +25 años, como para menores a esa edad
Esperamos que nos puedan dar una mano. Estamos a disposición para facilitarles mas datos.
Gracias. Saludos!
Aparece pero no lo tenemos habilitado porque no es inscripción para mayores de 25.
ocultaron “el check ¿Es mayor a 25 años y no realizó el colegio secundario?”, es decir el aspirante no lo visualiza en el formulario al momento de ingresar los datos?
En el siguiente foro inconveniente con colegio y mayor de 25 años - nº 12 por jzeitune, se trató el mismo error por ahí te puede servir.
El aspirante no visualiza el campo en el formulario.
Probamos seguir los pasos del foro, borrando el contenido de la carpeta instalacion/temp y sigue el mismo problema.
Hola Martin!
El formulario lo teniamos como Visible 1. Obligatorio 1. Se imprime 0. Genera reporte 0. Sin éxito.
Luego probamos poniendo todo en 0 (desde base, ya que no se podía modificar desde el portal) y tampoco tuvimos exito.
Ese campo no lo deben ocultar, ya que como bien indica el error, ese campo no admite nulls.
Si ustedes simplemente lo ocultan, al ser un campo de tipo checkbox, se viola la regla que evita el valor nulo.
Deben regenerar la base a como se encontraba originalmente, verificar que el aspirante visualice el checkbox y ahí probar que no les aparezca el error.
Hola Martin
Colocamos que sea visible, se imprima y sea obligatorio.
Luego borramos caché y los temporales de instalación/temp nuevamente por si quedaba algun temporal, y sigue apareciendo el mismo problema.
Ese campo en la base tiene un valor default, que es N.
Pueden verificar si tiene ese default el campo en al base?
select
c.relname as tabla,
a.attname as columna,
a.attnum as nro_columna,
a.atthasdef as tiene_default,
a.attnotnull as es_no_nulo
from pg_attribute as a,
pg_class as c,
pg_namespace as n
where a.attrelid = c.oid
and c.relnamespace = n.oid
and c.relname = 'sga_preinscripcion'
and a.attname = 'es_mayor_25_sin_secundario'
and a.atthasdef is true -- tiene valor default la columna
and c.relkind = 'r'
order by a.attrelid, a.attnum;
El limpiado del caché lo hicieron antes del borrado de los temporales?
Por las dudas vuelvan a hacer el borrado del caché y prueben nuevamente desde una pestaña de incógnito (para ver que no haya quedado nada cacheado en el navegador).
Y vuelvan a pasarnos cómo les aparece ahora el campo en tabla sga_campos_conf luego de haber hecho los cambios.