Error con consulta PHP creando regla personalizada

Buenas, estoy realizando la personalizacion de una regra / requisito que necesito para una correlativa especial. Y, por un lado, queria saber si estoy bien encarada con los archivos que armé, ya que cuando quiero asignar el requisito en la seccion de correlativas no me aparece. (Si para configurarlo desde administrar requisitos, para una actividad… ) pero nose si ese es el funcionamiento correspondiente. Adjunto un TXT con todo.

Y por el otro lado, al querer probar desde Toba-> Pruebas->Reglas, me dice que no encuentra la clase de consulta co_alumnos_unla.php y nose porqué:

  • La cree
  • La configure en Toba ->Datos->Consultas PHP
  • Corri el ./guarani autoload y ./guarani persautoload

Hace falta algo mas?
Pasos Regla Personalizada.txt (5,7 KB)

Ir a la issue

Hola Romina!

En qué versión se encuentran?

La regla ya se encuentra incorporada en la tabla sga_reglas? Allí qué valor contiene para la columna valido_en_correlativas?

Saludos!

Perdon, siempre me olvido la version : es la 3.22.2

en el campo “valido_en_correlativas” dice S

Te dejo una imagen de la prueba de reglas, al ejecutarla es que salta lo de la consulta PHP que no encuentra, pero si me muestra los parametros que uso.

Hola Romina!

Bien, el valor señalado es correcto.

Voy a derivar el tema al equipo técnico para que analicen bien si los pasos detallados en el adjunto están correctos.

Cuando ejecutaron el comando guarani pers_autoload les apareció algún error?

Realizaron luego el SVN update? Ya que eso no lo vi detallado en el adjunto.

No surgió ningun error con el autoload, y de hecho en los archivos veo que figura el valor personalizado del archivo de consulta PHP.

No se hizo svn update, xq estoy trabajando todo en entorno de desarrollo primero.

Hola Romina!

Te pido si me adjuntas los logs completos del error que estan obteniendo con la clase co_alumnos_unla para tener más contexto del mismo.

Te los paso:

-o-o-o-o-o-
Fecha: 30-07-2025 12:29:01
Operacion: Reglas
Usuario: toba
Version-PHP: 7.4.33
Servidor: localhost
URI: /guarani/3.22/aplicacion.php?ah=st688a3a27e17292.80477368&ai=guarani%7C%7C38000111&tcm=previsualizacion
Referrer: http://localhost/guarani/3.22/?ai=guarani||38000111&tcm=previsualizacion&tm=1
Host: 127.0.0.1
==========
[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_sesion.php del punto de montaje proyecto. El path del mismo es /home/romansilla@usuarios.unla/desarrollos/siu/gestion/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 /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se carg� la clase extension_toba/guarani_fuente_datos.php del punto de montaje proyecto. El path del mismo es /home/romansilla@usuarios.unla/desarrollos/siu/gestion/php
[DEBUG][guarani] SQL sin perfil de datos: SELECT		trim(version_app) as version_actual 
				FROM		app_versiones_base
				ORDER BY	id_conversion DESC
				LIMIT		1
		
[DEBUG][guarani] (
				SELECT 	amo.padre,
							amo.carpeta,
							amo.proyecto,
							amo.item,
							amo.descripcion as nombre,
							ai.orden as 		orden,
							ai.imagen,
							ai.imagen_recurso_origen,
							amo.padre = '1' as es_primer_nivel
				   FROM 
							apex_usuario_grupo_acc auga
						JOIN apex_menu_operaciones amo ON (auga.menu_usuario = amo.menu_id AND auga.proyecto = amo.proyecto)
						JOIN apex_usuario_grupo_acc_item augai ON (auga.proyecto = augai.proyecto AND auga.usuario_grupo_acc = augai.usuario_grupo_acc AND augai.item = amo.item)
						JOIN apex_item ai ON (augai.item = ai.item AND augai.proyecto = ai.proyecto)	
				  WHERE (ai.menu = 1)
					AND ai.item != ai.padre
					AND	(auga.usuario_grupo_acc IN ('admin') OR ai.publico = 1)
					AND	(amo.proyecto = 'guarani')
					AND auga.menu_usuario IS NOT NULL
			UNION
				SELECT 	ai.padre,
						ai.carpeta,
						ai.proyecto,
						ai.item,
						ai.nombre as nombre,
						ai.orden as 		orden,
						ai.imagen,
						ai.imagen_recurso_origen,
						ai.padre = '1' as es_primer_nivel
				FROM 
						apex_usuario_grupo_acc auga
					JOIN apex_usuario_grupo_acc_item augai ON (auga.proyecto = augai.proyecto AND auga.usuario_grupo_acc = augai.usuario_grupo_acc)
					JOIN apex_item ai ON (augai.item = ai.item AND augai.proyecto = ai.proyecto)	
				WHERE auga.menu_usuario is null
					AND (ai.menu = 1)
					AND ai.item != ai.padre
					AND	(auga.usuario_grupo_acc IN ('admin') OR ai.publico = 1)
					AND	(ai.proyecto = 'guarani')
			) ORDER BY 1, 6
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[DEBUG][guarani] Inicializando perfil de datos para el proyecto guarani
[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 sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[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
				JOIN	sga_instituciones_tipos ON sga_instituciones_tipos.tipo_institucion = sga_instituciones.tipo_institucion
				JOIN    mug_localidades ON mug_localidades.localidad = sga_instituciones.localidad
				JOIN	mug_dptos_partidos ON mug_dptos_partidos.dpto_partido = mug_localidades.dpto_partido
				JOIN	mug_provincias ON mug_provincias.provincia = mug_dptos_partidos.provincia
				JOIN	mug_paises ON mug_paises.pais = mug_provincias.pais 
				 WHERE  sga_instituciones.institucion = '1'
				ORDER BY sga_instituciones.nombre  
				;
[DEBUG][guarani] SQL con perfil de datos: SELECT	mdp_personas.persona,
                                                COALESCE (mdp_personas.apellido_elegido, mdp_personas.apellido) AS apellido,
                                                COALESCE (mdp_personas.nombres_elegido, mdp_personas.nombres) AS nombres,
						mdp_personas.arai_identificador_sso,
						mdp_personas.arai_uuid
				FROM 	mdp_personas
				WHERE	mdp_personas.usuario = 'toba'
		
[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 = '1'
				
[DEBUG][guarani] SQL sin perfil de datos: SELECT		mdp_personas_grupo_acc.usuario_grupo_acc as	grupo_acceso,
							mdp_personas_grupo_acc.tipo_usuario
				FROM 		mdp_personas_grupo_acc,
							mdp_personas
				WHERE		mdp_personas_grupo_acc.persona = mdp_personas.persona AND
							mdp_personas.usuario = 'toba' AND
							mdp_personas_grupo_acc.usuario_grupo_acc <> 'docente'
							 AND mdp_personas_grupo_acc.tipo_usuario = 'Gestion' 
				ORDER BY	mdp_personas_grupo_acc.grupo_acceso_default DESC,
							mdp_personas_grupo_acc.usuario_grupo_acc ASC
		
[DEBUG][toba] [SECCION] Iniciando componentes...
[INFO][guarani] PUNTO MONTAJE: se carg� la clase /operaciones/pruebas/reglas/ci_edi_reglas.php del punto de montaje proyecto. El path del mismo es /home/romansilla@usuarios.unla/desarrollos/siu/gestion/php
[DEBUG][toba] componente(38000616): Pantalla de eventos: 'pant_inicial'
[DEBUG][toba] [SECCION] Procesando eventos...
[DEBUG][toba] componente(38000616): [ inicializar_dependencias ]
array (
  0 => 'form',
  1 => 'form_resultado',
)
[INFO][guarani] PUNTO MONTAJE: se carg� la clase /operaciones/pruebas/reglas/form.php del punto de montaje proyecto. El path del mismo es /home/romansilla@usuarios.unla/desarrollos/siu/gestion/php
[DEBUG][toba] componente(38000617):  IMPLICITO: modificacion
[DEBUG][toba] componente(38000616): [ registrar_evento ] 'modificacion' -> [ evt__form__modificacion ]
array (
  0 => 
  array (
    'interfaz' => '1',
    'regla' => '1300',
    'requisitos' => '1300',
    'negar' => '0',
    'barra_parametros_contexto' => NULL,
    'actividad' => NULL,
    'modulo' => NULL,
    'elemento' => NULL,
    'alumno' => '123',
    'plan_version' => NULL,
    'fecha' => NULL,
    'persona' => NULL,
    'anio_academico' => NULL,
    'comision' => NULL,
    'subcomision' => NULL,
    'id_acta' => NULL,
    'tipo_acta' => NULL,
    'resultado' => NULL,
    'llamado_mesa' => NULL,
    'valor_parametro' => NULL,
    'propuesta' => '34',
    'requisito' => NULL,
    'id_acta_original' => NULL,
    'id_equiv_tramite_original' => NULL,
    'comision_origen' => NULL,
    'entidad' => NULL,
    'cond_regularidad' => NULL,
    'barra_parametros_regla' => NULL,
    'puntaje' => NULL,
    'actividades' => NULL,
    'creditos' => NULL,
    'porcentaje' => NULL,
    'cantidad' => NULL,
    'anio' => NULL,
    'cantidad_regulares' => NULL,
    'cantidad_aprobadas' => NULL,
    'porcentaje_regulares' => NULL,
    'porcentaje_aprobadas' => NULL,
    'fecha_desde' => NULL,
    'fecha_hasta' => NULL,
    'anio_desde' => NULL,
    'anio_hasta' => NULL,
    'horas' => NULL,
  ),
)
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[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 = '1300' 
        		ORDER BY 	sga_reglas.nombre
  				
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[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 = '1300' 
        		
  						;
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[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 = '1300' 
        		ORDER BY 	sga_reglas.nombre
  				
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[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 = '1300' 
        		
  						;
[DEBUG][guarani] SQL sin perfil de datos: SELECT	mdp_personas_perfil_datos.usuario_perfil_datos
				FROM	mdp_personas,
						mdp_personas_perfil_datos
				WHERE	mdp_personas.persona = mdp_personas_perfil_datos.persona AND
						mdp_personas.usuario = 'toba' AND
						mdp_personas_perfil_datos.usuario_grupo_acc = 'admin'
		
[DEBUG][guarani] SQL con perfil de datos: SELECT	   	sga_reglas.regla,
		                    sga_reglas_param_contexto.parametro,
	                       	par_puntos_control_parametros.tipo_de_dato,
	                       	par_puntos_control_parametros.descripcion
                  FROM     	sga_reglas,
							sga_reglas_param_contexto,
							par_puntos_control_parametros
                  WHERE     sga_reglas.regla = '1300'
                  AND     	sga_reglas_param_contexto.regla = sga_reglas.regla
				  AND		par_puntos_control_parametros.parametro = sga_reglas_param_contexto.parametro
							;
[INFO][toba] componente(38000616): [ evento ]  El METODO [ evt__ejecutar_regla ] no existe - 'ejecutar_regla' no fue atrapado
[DEBUG][toba] [SECCION] Configurando dependencias para responder al servicio...
[DEBUG][toba] componente(38000616): Pantalla de servicio: ''
[INFO][toba] componente(38000616): [ callback ] 'conf__pant_inicial' no fue atrapado
[DEBUG][toba] componente(38000616): [ callback ] 'conf__form'
[DEBUG][toba] componente(38000616): [ callback ] 'conf__form_resultado'
[ERROR][guarani] No se puede encontrar la consulta PHP 'co_alumnos_unla' en el proyecto 'guarani'
[ERROR][toba] toba_error: No se puede encontrar la clase de consulta PHP en el proyecto 
[TRAZA]
	
	toba_proyecto->get_info_consulta_php 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/lib/toba_proyecto.php, lInea 598 
	
	toba::consulta_php 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/php/nucleo/_lib/guarani_nucleo.php, lInea 153 
	
	guarani_nucleo::co 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/nucleo/_lib/reglas/regla_cohorte_2019_superior.php, lInea 12 
	
	regla_cohorte_2019_superior->validar 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/php/operaciones/pruebas/reglas/ci_edi_reglas.php, lInea 94 
	
	ci_edi_reglas->conf__form_resultado 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/toba_componente.php, lInea 221 
	
	toba_componente->invocar_callback 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 636 
	
	toba_ci->configurar_dep 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 475 
	
	toba_ci->dependencia 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei_pantalla.php, lInea 91 
	
	toba_ei_pantalla->aplicar_restricciones_funcionales 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei.php, lInea 121 
	
	toba_ei->post_configurar 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 618 
	
	toba_ci->pre_configurar 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 159 
	
	toba_solicitud_web->procesar_servicios 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 60 
	
	toba_solicitud_web->procesar 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96 
	
	toba_nucleo->acceso_web 
Archivo: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/www/aplicacion.php, lInea 33 
	
	

[DEBUG][toba] Mensaje a usuario: No se puede encontrar la clase de consulta PHP en el proyecto

Te hago una consulta. Cuando gregaron la clase de consulta en Toba → Datos → Consultas PHP, lo hicieron utilizando el proyecto Guaraní?

Lo unico que se me ocurre que puede estar pasando es que haya algún error en la clase, por lo que el guarani autoload y persautoload esté fallando. Podrían adjuntar los logs de comandos? Están en “instalacion/logs_comandos/comandos.log”

Si, Guarani (personalizado)

Te paso el log de cuando ejecute el pers_autoload:

-o-o-o-o-o-
Fecha: 28-07-2025 13:00:43
Version-PHP: 7.4.33
Ruta: /home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/bin
Argumentos: proyecto pers_autoload
==========
[DEBUG][guarani] INSTALACION "/home/romansilla@usuarios.unla/desarrollos/siu/gestion/instalacion"
[DEBUG][guarani] Parametros instancia desarrollo: array (
  'base' => 'toba_3_3',
  'proyectos' => 'toba_editor, toba_usuarios, toba_referencia, guarani',
  'tipo' => 'normal',
  'toba_editor' => 
  array (
    'path' => '/home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/proyectos/toba_editor',
    'url' => '/toba_editor/3.3',
  ),
  'toba_usuarios' => 
  array (
    'path' => '/home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/proyectos/toba_usuarios',
    'url' => '/toba_usuarios/3.3',
  ),
  'toba_referencia' => 
  array (
    'path' => '/home/romansilla@usuarios.unla/desarrollos/siu/gestion/vendor/siu-toba/framework/proyectos/toba_referencia',
    'url' => '/toba_referencia/3.3',
  ),
  'guarani' => 
  array (
    'path' => '/home/romansilla@usuarios.unla/desarrollos/siu/gestion',
    'url' => '/guarani/3.22',
    'url_pers' => '/guarani_pers/3.22',
  ),
)
[DEBUG][guarani] INSTANCIA "desarrollo"
[DEBUG][guarani] Conectando a base 'toba_3_3'
[DEBUG][guarani] Parametros de conexion: array (
  'motor' => 'postgres7',
  'profile' => 'localhost',
  'usuario' => 'xxx',
  'clave' => 'xxx',
  'base' => 'desarrollo2',
  'puerto' => '5432',
  'encoding' => 'LATIN1',
  'schema' => 'desarrollo',
)
[DEBUG][guarani] PROYECTO "guarani"
[DEBUG][guarani] Conectando a base 'desarrollo guarani guarani'
[DEBUG][guarani] Parametros de conexion: array (
  'motor' => 'postgres7',
  'profile' => 'localhost',
  'usuario' => 'xxx',
  'clave' => 'xxx',
  'puerto' => '5432',
  'encoding' => 'LATIN1',
  'base' => 'desarrollo2',
  'schema' => 'negocio',
)
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/extension_toba/autentificacion/guarani_pers_usuario.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/nucleo/_lib/usuarios/co_usuarios_pers.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/nucleo/_lib/usuarios/co_usuarios_pers.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/nucleo/requisitos/requisito_digital.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_alumnos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_comisiones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_convocatorias.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_cursos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_docentes.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_inscripciones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_inscripciones_mesas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_morosos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_notificaciones_pagos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_oferta_cursos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_personas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_planes_versiones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_preinscriptos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v1/modelos/rest_propuestas_formativas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_alumnos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_alumnos_cambios_calidades.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_alumnos_no_regulares.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_alumnos_pasivos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_comisiones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_convocatorias.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_cursos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_docentes.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_inscripciones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_inscripciones_mesas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_licencias_estudiantiles.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_morosos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_notificaciones_pagos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_oferta_cursos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_personas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_planes_versiones.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_preinscriptos.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_propuestas_formativas.php
[DEBUG][guarani] /home/romansilla@usuarios.unla/desarrollos/siu/gestion/personalizacion/php/rest/v2/modelos/rest_reaperturas_convocatorias.php

En el archivo guarani_pers_autoload.php esta lo siguiente:

image

Hola @rmansilla , revisa Modificar la clase de consulta:

¿co_alumnos_unla hereda de co_alumnos?

Luego de agregar clases personalizadas no te olvides de ejecutar guarani pers_autoload, ver Regenerar el autoload.

Saludos.

si,

Perfecto @rmansilla

Revisa los pasos de Pasos para crear un requisito de tipo proceso.

También este foro: Error en regla personalizada

Hola Romina,
El problema es que desde el método ‘validar’ de la clase ‘regla_cohorte_2019_superior’ tenés la llamada:

$cohorte_alumno = guarani::co('co_alumnos_unla')->get_cohorte($alumno, $propuesta);

Y también:

 $nombre_alumno = toba::consulta_php('co_alumnos_unla')->get_alumno_nombre($alumno);

Esto no es correcto porque la clase de consulta PHP definida desde Toba-Editor tiene el identificador ‘co_alumnos’, no ‘co_alumnos_unla’ (fijate acá). Las formas correctas son:

$cohorte_alumno = guarani::co('co_alumnos')->get_cohorte($alumno, $propuesta);

Y:

 $nombre_alumno = toba::consulta_php('co_alumnos')->get_alumno_nombre($alumno);

Saludos, Florencia.

Genia, era eso.

Muchas Gracias!

Una consulta mas, relacionada, en la Pruba → Regla funciona ok el testeo por lo que el problema original se soluciono. Pero como es el funcionamiento para colocar la regla nueva como correlativa en un plan, porque no me aparece para agregarla y quizas estoy haciendo algo mal.

Hola Romina!

Modifico mi mensaje ya que ya vimos lo que debe estar sucediendo.

El requisito lo configuraron en la base como un requisito de tipo “proceso - actividad” (sga_requisitos.requisito_tipo = 6) . Los requisitos que se pueden seleccionar como correlativas son aquellos de tipo “Documentales” o “Procesos”. Lo correcto entonces sería sga_requisitos.requisito_tipo = 5.

Listo, solucionado.

Muchas Gracias!