Error al egresar

Hola comunidad
Al egresar a un alumno de posgrado el usuario nos reportó el siguiente error:
“Los atributos para nivel plan no han sido especificados”

Al replicar el error nos apareció el siguiente mensaje:

Call to a member function set_regla() on null

G3 3.17

-o-o-o-o-o-
Fecha: 18-10-2019 11:11:40
Operacion: Solicitar Certificaciones
Version-PHP: 7.1.32
URI: /aplicacion.php?ah=st5da9c812f203d9.67060958&ai=guarani%7C%7C32000018
Referrer: http://200.3.120.139/aplicacion.php?ah=st5da9c80f40d751.85172842&ai=guarani%7C%7C32000018
Host: 192.168.100.12
==========
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/guarani_sesion.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/autentificacion/guarani_pers_usuario.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[DEBUG][guarani] PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje proyecto
[DEBUG][guarani] PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje personalizacion
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/guarani_fuente_datos.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[DEBUG][guarani] Inicializando perfil de datos para el proyecto guarani
[DEBUG][guarani] SQL con perfil de datos: SELECT	mdp_personas.persona,
						mdp_personas.apellido,
						mdp_personas.nombres
				FROM 	mdp_personas
				WHERE	mdp_personas.usuario = 'msauro'
		
[DEBUG][guarani] SQL con perfil de datos: SELECT 
					mdp_personas_foto.foto_persona,
					mdp_personas_foto.persona,
					mdp_personas_foto.imagen,
					mdp_personas_foto.fecha,
					mdp_personas_foto.nombre_imagen
				FROM 
					mdp_personas_foto
				WHERE
					mdp_personas_foto.persona = '9219'
				
[DEBUG][guarani] SQL con perfil de datos: 	SELECT 	par_configuraciones.nombre,
							par_configuraciones.tipo_de_dato,
							par_configuraciones.valor,
							par_configuraciones.descripcion
					FROM 	par_configuraciones
							 WHERE  upper(par_configuraciones.nombre) = 'INSTITUCION_INSTALACION' 
					ORDER BY par_configuraciones.nombre
				;
[DEBUG][guarani] SQL con perfil de datos: SELECT	sga_instituciones.institucion,
						sga_instituciones.nombre,
						sga_instituciones.nombre as entidad_descripcion,
						sga_instituciones.nombre_abreviado,
						sga_instituciones.tipo_institucion,
						sga_instituciones_tipos.nombre as tipo_institucion_nombre,
						sga_instituciones.localidad,
						mug_localidades.nombre as localidad_nombre,
						CASE
							WHEN mug_provincias.pais = 54 THEN mug_localidades.nombre
							ELSE mug_localidades.nombre || ' (' || mug_paises.nombre || ')'
						END as localidad_descripcion,
						sga_instituciones.calle,
						sga_instituciones.numero,
						sga_instituciones.codigo_postal,
						sga_instituciones.telefono,
						sga_instituciones.fax,
						sga_instituciones.email,
						sga_instituciones.entidad
				FROM 	sga_instituciones,
						sga_instituciones_tipos,
				        mug_localidades,
						mug_dptos_partidos,
						mug_provincias,
						mug_paises
				WHERE   sga_instituciones.localidad = mug_localidades.localidad AND 
				        sga_instituciones.tipo_institucion = sga_instituciones_tipos.tipo_institucion  AND
						mug_localidades.dpto_partido = mug_dptos_partidos.dpto_partido AND
						mug_dptos_partidos.provincia = mug_provincias.provincia AND
						mug_provincias.pais = mug_paises.pais
				         AND  sga_instituciones.institucion = '1'
				ORDER BY sga_instituciones.nombre  
				;
[DEBUG][toba] [SECCION] Iniciando componentes...
[INFO][guarani] PUNTO MONTAJE: se cargó la clase nucleo/egresados/actualizaciones/solicitar_certificaciones/cn_man_solicitar_certificaciones.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase nucleo/egresados/actualizaciones/solicitar_certificaciones/cn_ent_solicitar_certificaciones.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase nucleo/egresados/actualizaciones/solicitar_certificaciones/cn_ent_solicitar_certificaciones.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[INFO][guarani] El manejador de entidades: Inicializacion. Entidades cargadas: [1]
[INFO][guarani] PUNTO MONTAJE: se cargó la clase operaciones/egresados/actualizaciones/solicitar_certificaciones/ci_nav_solicitar_certificaciones.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[DEBUG][toba] componente(32000048): Pantalla de eventos: 'edicion'
[DEBUG][toba] [SECCION] Procesando eventos...
[DEBUG][toba] componente(32000048): [ inicializar_dependencias ]
array (
  0 => 'editor',
)
[INFO][guarani] PUNTO MONTAJE: se cargó la clase operaciones/egresados/actualizaciones/solicitar_certificaciones/ci_edi_solicitar_certificaciones.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[DEBUG][toba] componente(32000053): Pantalla de eventos: 'pant_inicial'
[DEBUG][toba] componente(32000053): [ inicializar_dependencias ]
array (
  0 => 'formulario',
)
[INFO][guarani] PUNTO MONTAJE: se cargó la clase operaciones/egresados/actualizaciones/solicitar_certificaciones/formulario.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[DEBUG][toba] componente(32000057):  IMPLICITO: modificacion
[DEBUG][toba] componente(32000053): [ registrar_evento ] 'modificacion' -> [ evt__formulario__modificacion ]
array (
  0 => 
  array (
    'certificado' => '3',
    'juramento' => NULL,
    'nro_expediente' => NULL,
    'nro_expediente_externo' => NULL,
    'fecha_inicio_tramite' => '2019-10-18',
    'menciones' => 
    array (
    ),
    'observaciones' => NULL,
  ),
)
[DEBUG][guarani] SQL con perfil de datos: SELECT certificado, 
						nombre, 
						nombre_femenino, 
						codigo, 
						certificado_tipo, 
       					titulo_araucano, 
       					disciplina, 
       					estado,
       					entidad,
       					circuito,
       					titulo_nivel
  				FROM sga_certificados
  				WHERE certificado = '3' AND 
/*-------- PERFIL DE DATOS --------*/
 (sga_certificados.certificado) IN
( SELECT toba_pdtasoc_2.certificado
 FROM sga_certificados_ra toba_pdtasoc_2
 WHERE  (toba_pdtasoc_2.responsable_academica) IN
( SELECT toba_pdtasoc_1.responsable_academica
 FROM vw_ug_responsables_academicas toba_pdtasoc_1
 WHERE  ( toba_pdtasoc_1.unidad_gestion IN ('7') ) )
)

/*------------------------*/


[DEBUG][guarani] SQL con perfil de datos: SELECT CURRENT_DATE as fecha
[WARNING][guarani] componente(32000056): guarani_pers_datos_tabla El registro tiene una estructura incorrecta: El campo 'menciones'  no forma parte de la DEFINICION.
[DEBUG][toba] TABLA: [sga_certificados_otorg]
Nuevo cursor '0' en reemplazo del anterior ''
[DEBUG][toba] componente(32000048): [ evento ] 'validar' -> [ evt__validar ]
[INFO][guarani] PUNTO MONTAJE: se cargó la clase nucleo/egresados/actualizaciones/solicitar_certificaciones/cn_deteccion_egresado.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/php
[DEBUG][guarani] SQL con perfil de datos: SELECT 
					par_parametros_sistema.parametro,
					par_parametros_sistema.descripcion,
					par_parametros_sistema.tipo_de_parametro,
					par_parametros_sistema.tipo_de_dato,
					par_parametros_sistema.nivel,
					par_parametros_sistema.valor_desde,
					par_parametros_sistema.valor_hasta,
					par_parametros_sistema.valor_default,
					par_parametros_sistema.tabla_referenciada
				FROM 
					par_parametros_sistema
				WHERE
					par_parametros_sistema.parametro = 'egr_configurar_ha'
				
[NOTICE][guarani] Valor del parámetro 'egr_configurar_ha' = 'S' obtenido desde caché.
[DEBUG][guarani] SQL con perfil de datos: SELECT	vw_hist_academica_basica.elemento,
						vw_hist_academica_basica.creditos
				FROM	vw_hist_academica_basica
				WHERE	vw_hist_academica_basica.resultado = 'A' AND
						vw_hist_academica_basica.alumno = '205'
						
		
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/componentes/guarani_pers_datos_tabla.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/personalizacion/php
[DEBUG][guarani] SQL con perfil de datos: SELECT	sga_alumnos.alumno,
						sga_alumnos.legajo,
						sga_alumnos.propuesta,
						sga_alumnos.regular,
						sga_alumnos.cnt_readmisiones,
						sga_alumnos.ubicacion,
						sga_alumnos.calidad,
						sga_alumnos.modalidad,
						sga_alumnos.division,
						sga_divisiones.nombre AS division_nombre,
						sga_propuestas.nombre AS propuesta_nombre,
						sga_alumnos.plan_version,
						sga_planes_versiones.plan,
						vw_personas.apellido_nombres AS apellido_y_nombre,
						vw_personas.tipo_nro_documento AS documento_principal,
						vw_personas.apellido,
						vw_personas.nombres,
						vw_personas.nro_documento,
						vw_personas.persona
				FROM	sga_alumnos
						LEFT JOIN sga_divisiones ON sga_alumnos.division = sga_divisiones.division,
						sga_planes_versiones,
						vw_personas,
						sga_propuestas
				WHERE	sga_alumnos.persona = vw_personas.persona AND
						sga_alumnos.plan_version = sga_planes_versiones.plan_version AND
						sga_alumnos.propuesta = sga_propuestas.propuesta AND
						sga_alumnos.alumno = '205' AND 
/*-------- PERFIL DE DATOS --------*/
 (sga_propuestas.propuesta) IN
( SELECT toba_pdtasoc_3.propuesta
 FROM vw_ug_propuestas toba_pdtasoc_3
 WHERE  ( toba_pdtasoc_3.unidad_gestion IN ('7') ) )

/*------------------------*/


[DEBUG][guarani] SQL con perfil de datos: SELECT	get_plan_contenido.elemento as id_nodo,
						get_plan_contenido.nombre,
						'4' as plan_version,
						get_plan_contenido.elemento_padre as nodo_padre,
						get_plan_contenido.entidad_tipo,
						get_plan_contenido.orden
				FROM	get_plan_contenido('4', true, true)
		
[DEBUG][guarani] SQL con perfil de datos: SELECT certificado, 
						nombre, 
						nombre_femenino, 
						codigo, 
						certificado_tipo, 
       					titulo_araucano, 
       					disciplina, 
       					estado,
       					entidad,
       					circuito,
       					titulo_nivel
  				FROM sga_certificados
  				WHERE certificado = '3' AND 
/*-------- PERFIL DE DATOS --------*/
 (sga_certificados.certificado) IN
( SELECT toba_pdtasoc_5.certificado
 FROM sga_certificados_ra toba_pdtasoc_5
 WHERE  (toba_pdtasoc_5.responsable_academica) IN
( SELECT toba_pdtasoc_4.responsable_academica
 FROM vw_ug_responsables_academicas toba_pdtasoc_4
 WHERE  ( toba_pdtasoc_4.unidad_gestion IN ('7') ) )
)

/*------------------------*/


[DEBUG][guarani] SQL con perfil de datos: SELECT	sga_condiciones.condicion,
						sga_certificados.nombre
				FROM	sga_condiciones,
						sga_certificados
				WHERE	sga_condiciones.entidad = sga_certificados.entidad AND
						sga_condiciones.condicion_tipo = '3' AND
						sga_certificados.certificado = '3' AND
						sga_condiciones.plan_version = '4' AND 
/*-------- PERFIL DE DATOS --------*/
 (sga_certificados.certificado) IN
( SELECT toba_pdtasoc_7.certificado
 FROM sga_certificados_ra toba_pdtasoc_7
 WHERE  (toba_pdtasoc_7.responsable_academica) IN
( SELECT toba_pdtasoc_6.responsable_academica
 FROM vw_ug_responsables_academicas toba_pdtasoc_6
 WHERE  ( toba_pdtasoc_6.unidad_gestion IN ('7') ) )
)

/*------------------------*/


[DEBUG][guarani] SQL con perfil de datos: SELECT		sga_condiciones_grupos.grupo_condicion,
							sga_condiciones_grupos.orden
				FROM		sga_condiciones_grupos
				WHERE		sga_condiciones_grupos.condicion = '4'
				ORDER BY	sga_condiciones_grupos.orden
		
[DEBUG][guarani] SQL con perfil de datos: SELECT sga_condiciones_requisitos.requisito_condicion, sga_condiciones_requisitos.orden, sga_condiciones_requisitos.operador_not, sga_condiciones_requisitos.tipo, sga_condiciones_requisitos.requisito, sga_requisitos.nombre, sga_condiciones_requisitos.entidad, sga_elementos.elemento, sga_elementos.entidad_subtipo, sga_g3entidades_subtipos.entidad_tipo, sga_condiciones_requisitos.estado, sga_condiciones_requisitos.regla, sga_reglas.php_clase, sga_condiciones_requisitos.parametros, COALESCE(sga_elementos.nombre, sga_requisitos.nombre) as requisito_nombre FROM sga_condiciones_requisitos LEFT OUTER JOIN sga_requisitos ON sga_condiciones_requisitos.requisito = sga_requisitos.requisito LEFT OUTER JOIN sga_elementos ON  (sga_elementos.elemento) IN
( SELECT toba_pdtasoc_8.elemento
 FROM vw_ug_elementos toba_pdtasoc_8
 WHERE  ( toba_pdtasoc_8.unidad_gestion IN ('7') ) )
 AND sga_condiciones_requisitos.entidad = sga_elementos.entidad LEFT OUTER JOIN sga_g3entidades_subtipos ON sga_elementos.entidad_subtipo = sga_g3entidades_subtipos.entidad_subtipo, sga_reglas WHERE sga_condiciones_requisitos.grupo_condicion = '6' AND sga_condiciones_requisitos.regla = sga_reglas.regla ORDER BY sga_condiciones_requisitos.orden 
[DEBUG][guarani] SQL con perfil de datos: SELECT 		sga_reglas.regla,
	                       	sga_reglas.nombre,
	                       	sga_reglas.descripcion,
	                       	sga_reglas.regla_tipo,
	                       	sga_reglas.mensaje_usuario,
	                       	sga_reglas.php_clase,
	                       	sga_reglas_tipos.nombre AS regla_tipo_nombre,
	                       	sga_reglas.nombre || ' (' || sga_reglas.regla || ' - ' || sga_reglas.php_clase || ')' AS regla_descr
  				FROM 		sga_reglas,
  							sga_reglas_tipos
  				WHERE 		sga_reglas_tipos.regla_tipo = sga_reglas.regla_tipo
  							 AND sga_reglas.regla = '1' 
        		ORDER BY 	sga_reglas.nombre
  				
[DEBUG][guarani] SQL con perfil de datos: SELECT 	sga_reglas_mensajes.interfaz,
						sga_reglas_mensajes.mensaje_validacion,
						sga_reglas_mensajes.mensaje_validacion_not as mensaje_validacion_negado
  				FROM 	sga_reglas_mensajes
  				WHERE   sga_reglas_mensajes.regla = '1' 
        		
  						;
[DEBUG][guarani] SQL con perfil de datos: SELECT	   	sga_reglas.regla,
			                    sga_reglas_parametros.parametro,
		                       	sga_reglas_parametros.tipo_de_dato,
		                       	sga_reglas_parametros.orden,
		                       	sga_reglas_parametros.descripcion,
		                       	sga_reglas_parametros.etiqueta,
		                       	sga_reglas_parametros.valor_desde,
		                       	sga_reglas_parametros.valor_hasta 
	                  FROM     	sga_reglas,
								sga_reglas_parametros
	                  WHERE     sga_reglas.regla = '1' 
	                  AND     	sga_reglas_parametros.regla = sga_reglas.regla 
	                  ORDER BY 	sga_reglas_parametros.orden
	  				
[DEBUG][guarani] SQL con perfil de datos: select get_regla_mensaje('1', '') as mensaje
[CRITICAL][toba] Call to a member function set_regla() on null

Saludos

Hola Claudio,

Estuve mirando y no se me ocurre cuál puede ser el problema. Les pasa sólo con este certificado? Alguna vez egresaron a alguien sin errores? Podés probar esto mismo sin perfiles de datos? Otra cosa es que verifiques que en las condiciones para obtener el certificado (“PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ASIGNAR CERTIFICADOS”) no haya nada raro…

Saludos, Florencia.

12

Hola Claudio, pudiste solucionar este error? tenemos el mismo problema en una base que estamos intentando egresar por primera vez.