Re:Problemas comunicación Guaraní-Sanavirón

Nueva consulta…

Configuramos rest-hooks según http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.15.0/interfaces/rest-hooks sin mayores inconvenientes.

Cuando intentamos inscribir un alumno al Curso (configurado cobrable) desde 3w, vemos el curos con valor, pero al incribirnos no pasa nada en la pantalla.
Miramos /var/log/apache2/error.log y vemos el siguiente error:

        PHP Fatal error:  Class 'SIU\\Guarani\\RestHooks\\RestHookSanaviron' not found in /usr/local/proyectos/g3w3/src/siu/modelo_g3/nucleo/cobro/cobro_nucleo.php on line 703, referer: http://192.168.1.221/unvm/inscripcion_cursos/elegir_actividad_curso/8dcc241dbc57134d0915a3cae0b7bd3f80efce8b/8e67eed2a02af1202bbb95fcd3626e9fdbf76912

hola !
Para solucionar deberían revisar en Guarani que el plan sea del tipo curso y no cobrable. Ya que en este caso la actividad debe ser del tipo curso cobrable, pero no así el plan
Coméntanos los resultados
Muchas gracias
Saludos

Hola! si, teníamos mal la definición del plan de estudios. Gracias

Hola, buen día, un placer saludarlos

Reflotamos este problema porque nos está sucediendo lo mismo. Estamos trabajando en un entorno de pruebas con la versión de SQ v2.6.0.

Al intentar inscribirnos al curso no sucede nada y en el log vemos el mismo error que reportaban acá. Sin embargo, el plan de estudios está como NO cobrable y la actividad está como cobrable, también la comisión está como cobrable. ¿Hay otro motivo por el que pueda suceder esto?

Te adjunto el log de APACHE y log de AUTOGESTION.
apache - gestion - error.txt (14,4 KB)
log-autogestion.txt (47,0 KB)

Espero sus comentarios.

Saludos,
Laura.

Buenos dias estimados, agregando mas informacion a lo que dice Laura, adjunto captura de la consola del navegador a la hora de querer inscribirme en un curso.

Saludos.

Hola, es el mismo problema original por lo que veo en logs:

--  SQL  -----------------------------------------------------------------------

SELECT 	sga_propuestas_aspira.propuesta_aspira,
						sga_propuestas_aspira.persona,
						sga_propuestas_aspira.propuesta,
						sga_planes.plan,
						sga_planes.codigo AS plan_codigo,
						sga_planes.cobrable AS plan_cobrable,
						sga_planes.sq_sincronizado AS plan_sq_sincronizado,
						sga_planes_versiones.plan_version,
						sga_propuestas_aspira.nro_transaccion,
						sga_propuestas_aspira.sq_token,
						sga_propuestas_aspira.sq_sincronizado
				FROM sga_propuestas_aspira
				JOIN sga_planes_versiones ON (sga_propuestas_aspira.plan_version = sga_planes_versiones.plan_version)
				JOIN sga_planes ON (sga_planes.plan = sga_planes_versiones.plan)
				WHERE sga_propuestas_aspira.propuesta_aspira = '115969'

--  ## datos ##  ---------------------------------------------------------------

Array
(
    [propuesta_aspira] => 115969
    [persona] => 14421
    [propuesta] => 174
    [plan] => 318
    [plan_codigo] => COR
    [plan_cobrable] => S
    [plan_sq_sincronizado] => 1
    [plan_version] => 2097
    [nro_transaccion] => 1468934
    [sq_token] => 
    [sq_sincronizado] => 0
)

--  SQL  -----------------------------------------------------------------------

SELECT  	
					sga_comisiones.comision,
					sga_comisiones.nombre,
					sga_comisiones.elemento,
					sga_periodos.anio_academico,
					sga_comisiones.periodo_lectivo,
					sga_periodos.nombre as periodo_lectivo_nombre,
					sga_elementos.elemento AS actividad,
					get_nombre_actividad_comision(sga_comisiones.comision, 1) as actividad_nombre,
					sga_elementos.codigo AS	actividad_codigo,
					'(' || sga_elementos.codigo || ') ' || get_nombre_actividad_comision(sga_comisiones.comision, 1) as actividad_codigo_y_nombre,
					get_nombre_actividad_comision(sga_comisiones.comision, 1) || ' - ' || sga_comisiones.nombre AS actividad_comision,
					f_horario_comision(sga_comisiones.comision) AS horario_descr,
					f_horario_comision_aula(sga_comisiones.comision, false) AS horario_aula_descr,
					sga_comisiones.ubicacion,
					sga_comisiones.cobrable,
					sga_ubicaciones.nombre AS ubicacion_nombre,
					f_docentes_comision(sga_comisiones.comision, false) AS docentes,
					f_docentes_comision(sga_comisiones.comision, true) AS docentes_responsabilidad,
					COALESCE(sga_comisiones_excep_perlect.fecha_inicio_dictado, sga_periodos_lectivos.fecha_inicio_dictado) AS fecha_inicio_dictado,
					to_char(COALESCE(sga_comisiones_excep_perlect.fecha_inicio_dictado, sga_periodos_lectivos.fecha_inicio_dictado), 'DD/MM/YYYY') as fecha_inicio_dictado_visual,
					COALESCE(sga_comisiones_excep_perlect.fecha_fin_dictado, sga_periodos_lectivos.fecha_fin_dictado) AS fecha_fin_dictado,
					to_char(COALESCE(sga_comisiones_excep_perlect.fecha_fin_dictado, sga_periodos_lectivos.fecha_fin_dictado), 'DD/MM/YYYY') as fecha_fin_dictado_visual,
					f_comision_con_tope_bajas_vigente('2097', sga_comisiones.comision, 1, NULL) as baja_habilitada,
					CASE
                        WHEN (cupo.cupo IS NULL OR cupo.cupo = 0 OR cupo.cupo > cupo.cant_inscriptos) THEN 'S'
                        ELSE 'N'
                    END as tiene_cupo,
                    cupo.cupo,
                    sga_comisiones.inscripcion_cerrada,
                    sga_comisiones.inscripcion_cerrada_codigo
                    ,cupo.cant_inscriptos as cant_inscriptos,
					f_modalidad_cursada_comision(sga_comisiones.comision) as modalidad 					,
					(SELECT array_to_string(array_agg(DISTINCT dia_semana), ',')
					FROM sga_comisiones_bh
					JOIN sga_asignaciones ON (sga_comisiones_bh.asignacion = sga_asignaciones.asignacion)
					WHERE sga_comisiones_bh.comision = sga_comisiones.comision) AS dias_semana
				FROM		
					sga_comisiones					
					JOIN sga_elementos ON sga_comisiones.elemento = sga_elementos.elemento
					JOIN sga_elementos_revision ON sga_elementos.elemento = sga_elementos_revision.elemento
					JOIN sga_elementos_plan ON sga_elementos_revision.elemento_revision = sga_elementos_plan.elemento_revision
					JOIN sga_ubicaciones ON sga_comisiones.ubicacion = sga_ubicaciones.ubicacion
					JOIN sga_periodos_lectivos ON sga_comisiones.periodo_lectivo = sga_periodos_lectivos.periodo_lectivo
					JOIN sga_periodos ON sga_periodos_lectivos.periodo = sga_periodos.periodo
					LEFT JOIN sga_comisiones_cupo AS cupo ON cupo.comision = sga_comisiones.comision
					LEFT JOIN sga_comisiones_excep_perlect ON sga_comisiones_excep_perlect.comision = sga_comisiones.comision
					
				WHERE		
					sga_elementos_plan.plan_version = '2097'
					-- Comisiones activas y pendientes
					AND sga_comisiones.estado IN ('A', 'P')
					AND sga_comisiones.comision = '30626' AND CURRENT_DATE <= COALESCE(sga_comisiones_excep_perlect.fecha_fin_dictado, sga_periodos_lectivos.fecha_fin_dictado)
				

--  ## datos ##  ---------------------------------------------------------------

Array
(
    [0] => Array
        (
            [comision] => 30626
            [nombre] => Curso de Oratoria 1
            [elemento] => 7469
            [anio_academico] => 2024
            [periodo_lectivo] => 96
            [periodo_lectivo_nombre] => Cursos 2024
            [actividad] => 7469
            [actividad_nombre] => Actividad CObrable Curso de Oratoria
            [actividad_codigo] => ACCO
            [actividad_codigo_y_nombre] => (ACCO) Actividad CObrable Curso de Oratoria
            [actividad_comision] => Actividad CObrable Curso de Oratoria - Curso de Oratoria 1
            [horario_descr] => 
            [horario_aula_descr] => 
            [ubicacion] => 2
            [cobrable] => S
            [ubicacion_nombre] => Viedma
            [docentes] => 
            [docentes_responsabilidad] => 
            [fecha_inicio_dictado] => 2024-03-01
            [fecha_inicio_dictado_visual] => 01/03/2024
            [fecha_fin_dictado] => 2025-02-28
            [fecha_fin_dictado_visual] => 28/02/2025
            [baja_habilitada] => 1
            [tiene_cupo] => S
            [cupo] => 0
            [inscripcion_cerrada] => N
            [inscripcion_cerrada_codigo] => 
            [cant_inscriptos] => 0
            [modalidad] => A distancia/Presencial
            [dias_semana] => 
        )

)

El plan y la actividad son cobrables, debería ser solo la actividad y comisión cobrables.

Saludos.
2