Controles Finales - Programar reglas relac. con las correlativas especiales

Hola
Estamos migrando a 3.19.1.
En los Controles Finales, no da el siguiente mensaje:

Advertencia: Se crearon reglas relacionadas con las correlativas especiales. Debe programar las reglas de cada correlativa especial... SELECT c.funcion_validacion, r.regla FROM mig.sga_correlativ_esp as c, sga_reglas as r WHERE r.nombre = c.funcion_validacion AND r.regla_tipo = 3
Alguna documentación al respecto que me oriente cómo programar las reglas de correlativas especiales? Gracias!!

Iris

Iris, quizas muchas de esas correlativas especiales ya se resuelven con requisitos que se pueden asociar como correlativas de una actividad.
Correlativas como ser “Tener 3 actividades de primer año aprobadas” o “Tener todas las actividades de 2do año aprobadas” ya existen y en ese caso lo que se puede hacer es setear la regla asociada a estos requisitos a los requisitos que se crearon en la migración como correlativas especiales, esos que ves en ese listado de pos-migración.

En la wiki hay documentación de que hay que hacer con estos requisitos que se crearon en la migración y que representan cada correlativa especial:
https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.19.0/Migracion/Desde_SIU_Guarani_2/Migracion/consideraciones_finales#Correlativas_especiales

En principio para que no falle el sistema al controlar correlativas es crear el archivo php de la regla del requisito, que no controle nada y salga siempre OK; o se puede cambiar la regla de esos requisitos por la regla 990 que es una regla que no controla nada y sale siempre sin error:

UPDATE sga_requisitos SET regla = 990 WHERE requisito = <ID requisito correlativa especial>

Despues será ir ajustando cada una de estas correlativas especiales, ya sea creando nuevas reglas o usando reglas ya existentes en otros requisitos provistos por el SIU que controlan lo mismo.

Tenemos ejemplos de creacion de requisitos con sus reglas para ser usados como correlativas de actividades.
En la siguiente documentación explica como crear un requisito de tipo proceso:
https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.19.0/personalizaciones/requisito_proceso

Si queres comentanos algunas de estas correlativas especiales y vemos que acciones podes realizar para resolverlo.

3

Hola
Estoy analizando este tema de las correlativas especiales.
Alguna documentación que detalle las que vienen con el G3?
Una de las que necesitamos definir, por ejemplo, es que “Para acceder al Ciclo Profesional se deberá tener el 80% de avence en el Ciclo de Fundamentos”. Hay algo que podamos reutilizar o la debemos definir?
Muchas gracias por la orientación!
Saludos.

Iris

Alguna documentación que detalle las que vienen con el G3?
Son todos los requisitos que se pueden configurar como correlativa. Tabla [b]sga_requisitos[/b] (tipo de requisito = 5). Tené en cuenta que no todos esos requisitos pueden configurarse como correlativa (por los parámetros que necesita cada regla de cada requisito).
Una de las que necesitamos definir, por ejemplo, es que "Para acceder al Ciclo Profesional se deberá tener el 80% de avence en el Ciclo de Fundamentos". Hay algo que podamos reutilizar o la debemos definir?
Si en el plan estos ciclos estan modelados como módulos, ejemplo:

+Plan XXXX
+Ciclo de Fundamentos
- Actividad 1
- Actividad 2
- Actividad …

+ Ciclo Profesional
      - Actividad 20 
      - Actividad 21 
      - Actividad 22
      - Actividad ...

Podes poner como correlativa de cada actividad del Ciclo Profesional, el módulo Ciclo de Fundamentos y que se cumpla con la regla Tener el n% de actividades aprobadas (donde n = 80)

Si en Guarani 2 tenian una correlativa especial para esto, pueden ver que con la migración se creó un requisito con el nombre de la correlativa especial de G3. Supongamos que el requisito creado es el nro 1029.

Deben hacer lo siguiente:

  1. Asociar la regla 108 a ese requisito:
UPDATE sga_requisitos SET regla = 108 WHERE requisito = 1029; 
  1. Como esta regla recibe un número que es el %, en este caso es el 80, deben setear este dato en la correlativa donde haya quedado este requisito y tambien el nro de regla:

Tabla que registra las correlativas de las actividades:

UPDATE sga_condiciones_requisitos 
        SET regla = 108,  
       parametros = '80'  
 WHERE requisito = 1029
       AND tipo = 'R';

3

Hola

Hay algún requisito propio de G3 que permita establecer un cierto % de aprobación de la propuesta?
Es decir, en G2 tenemos un requisito que para poder cursar una materia, el alumnos necesita tener un porcentaje de aprobación de materias obligatorias (con final) del plan de estudios.
O debemos personalizarlo?
Gracias!

Iris

Una opción es elegir el módulo raiz del plan como correlativa de cursada y a este módulo configurarle la regla nro 108 Tener el n% de actividades aprobadas para indicar como se cumple.

Pero esto depende de como este definido el plan de estudios, ya que esta regla saca ese % de las componentes directas del módulo a evaluar, en este caso el módulo raiz.
Supone que el módulo raiz esta compuesto por un submódulo de cada año (1ro a 5to).
Si indicas que debe tener el 50% cumplido, entonces el módulo raiz se cumple cuando tenga 3 submódulos cumplidos, aunque las actividades que contengan estos submódulos en total no lleguen al 50% del total del plan de estudios. Porque evalua las componentes directas del módulo.
Una opción a esto es una personalización que se realizo para UNL, donde no se queda solo con las componentes directas del módulo sino busca todas las actividades. En esta personalización busca cantidad de actividades, pero podría modificarse el cálculo y buscar %.

Otra opción es generar un requisito nuevo tomando como base el requisito nro 5 Tener n% materias aprobadas de m año pero que no haga distinción de año sino que cuente todas las actividades del plan.

Muchas gracias Alejandro
Voy a intentar desarrollarlo tomando como base el requisito nro 5: Tener n% materias aprobadas de m año.

Otro de los requisitos que debemos personalizar, es que el alumno tenga por lo menos 12 finales aprobados de 1º y 2º año (a lo sumo 3 talleres).
Es decir, dentro de las actividades, hay algunas que son de tipo Materia y otras de tipo Taller (https://foro.comunidad.siu.edu.ar/index.php?topic=23325)
El alumno debe tener aprobado un mínimo de 12 actividades correspondientes a 1º y 2º año con final, pero no se deben contabilizar más de 3 de las que son de tipo taller.
Se me está complicando hacer las consultas correspondientes en la base para detectarlas.
Podrían orientarme un poco? o corresponde lo haga vía GDS?

Muchas gracias!
Iris

Otro de los requisitos que debemos personalizar, es que el alumno tenga por lo menos 12 finales aprobados de 1º y 2º año (a lo sumo 3 talleres).
Se resuelve con un requisito similar al nro 4 = Tener n materias aprobadas de m año, pero que en vez de solo contar de ese año, cuente "hasta" ese año. En este caso indicarias el año 2 (2do año) y la query de la regla asociada a este requisito en vez de solo controlar para ese año (=) que controle hasta ese año (<=) Luego se suma el tema del control que como máximo de talleres sean 3, en esas 12 actividades. Si las actividades las definieron de tipo "materia" y tipo "taller", es facil indentificarlas. Deberias contar cuantas aprobo de 1er y 2do año, y cuantas de eas son de tipo "taller". Si llega la cantidad es mayor o igual a 12 y si las de tipo taller no superan las 3 materias entonces el requisito se cumple.

Si se esta complicando carga una solicitud y lo seguimos por alli. Por ahi vemos de agregarlo en el core de Guarani estos nuevos requisitos de “hasta x año”. Pero bueno igual deberian personalizar porque tienen ese agregado de las de tipo taller.
Hace referencia a este foro. Se puede tomar como base el requisito 4, regla 503 (implementado en el metodo regla_n_actividades_aprobadas_un_anio)

Hola Alejandro
Estoy desarrollando este requisito: “El alumno debe tener aprobado un mínimo de 12 actividades OBLIGATORIAS correspondientes a 1º y 2º año con final, pero no se deben contabilizar más de 3 de las que son de tipo taller.”
Pero se me complica para detectar las materias “obligatorias”

Hasta ahora tengo esta consulta, al menos para detectar las que son de tipo “Materia” (para las de tipo “Taller”, sería similar, sólo que le cambio el nombre al subtipo de entidad):

SELECT	* --COUNT(DISTINCT vw_hist_academica_basica.elemento) as cant
				FROM	vw_hist_academica_basica
						JOIN sga_elementos_revision ON vw_hist_academica_basica.elemento = sga_elementos_revision.elemento
						JOIN sga_elementos_plan ON sga_elementos_revision.elemento_revision = sga_elementos_plan.elemento_revision
						JOIN sga_elementos ON vw_hist_academica_basica.elemento = sga_elementos.elemento
				WHERE	vw_hist_academica_basica.alumno = $alumno AND
						sga_elementos_plan.plan_version = $plan_version AND
						sga_elementos_plan.anio_de_cursada $operador_anio $anio AND
						vw_hist_academica_basica.resultado = 'A'
						AND sga_elementos.entidad_subtipo IN (SELECT entidad_subtipo
								FROM sga_g3entidades_subtipos
									WHERE entidad_tipo = 2
									AND nombre = 'Materia');

Pero me está complicando el poder detectar las “OBLIGATORIAS” de ese listado, necesito quedarme con:

  • las que tengan puntaje > 0 en el caso que sga_elementos_revision.regla = 100 (Algunas actividades son optativas)
  • que no pertenezcan a sga_elementos_revision.regla = 110 (Todas las actividades son optativas)
  • las que pertenezcan a sga_elementos_revision.regla = 101 (Por Puntaje - Aprobadas)

Me podrían dar una mano con la consulta?
O corresponde lo haga vía GDS?

Gracias!!
Saludos

Iris

Podes contabilizar por un lado las de tipo Materia y por otro lado las de tipo Taller
De las 3 condiciones que pusiste al final, hay una que se repite y no se que regla quisiste poner:
La query sería algo como la siguiente:

SELECT	
       SUM(CASE sga_elementos.entidad_subtipo WHEN 50 THEN 1 ELSE 0 END) as cant_tipo_materia,
       SUM(CASE sga_elementos.entidad_subtipo WHEN 57 THEN 1 ELSE 0 END) as cant_tipo_taller
  FROM vw_hist_academica_basica
  JOIN sga_elementos ON sga_elementos.elemento = vw_hist_academica_basica.elemento
 WHERE vw_hist_academica_basica.alumno = $alumno 
   AND vw_hist_academica_basica.resultado = 'A'
   -- Materias de 1ro y 2do año
   AND vw_hist_academica_basica.elemento IN (SELECT sga_elementos_revision.elemento 
                                               FROM sga_elementos_plan as ep
											   JOIN sga_elementos_revision as er ON er.elemento_revision = ep.elemento_revision
                                              WHERE ep.plan_version = $plan_version
                                                AND ep.anio_de_cursada $operador_anio $anio
											)	
							
  
  AND vw_hist_academica_basica.elemento IN 
       (SELECT act.elemento 
          FROM sga_elementos_plan as mp -- Modulos del plan
          JOIN sga_elementos_revision as erm ON erm.elemento_revision = mp.elemento_revision
          JOIN sga_elementos_comp as ec ON ec.elemento_padre = erm.elemento_revision
		  JOIN sga_elementos_revision as act ON act.elemento_revision = ec.elemento_hijo
         WHERE mp.plan_version = $plan_version
		   AND erm.regla <> 110 -- que no pertenezcan a sga_elementos_revision.regla = 110 (Todas las actividades son optativas) 
           AND ( 
		        (erm.regla = 100 AND ec.puntaje > 0) OR -- las que tengan puntaje > 0 (Algunas actividades son optativas)
		        (erm.regla =  ) OR 
		        (erm.regla = ) OR 
				....
			   )			
        )      		   

Hola Alejandro
Bien, muchas gracias!!!
Ahora si!

Iris