Buenos dias, en una de las facultade se trabaja de una manera particular en cuanto a los permisos para las inscripciones a mesas de examen de tipo “especial”. Necesitariamos si nos pueden ayudar a terminar de ver si solo con configuaraciones de requisitos y reglas se puede realizar o si ya seria una personalizacion y guiarnos en como hacerlo.
El caso es el siguiente, y se divide a su vez en tres.
Para que un alumno se inscriba a una mesa especial el sistema debe controlar:
Caso 1: el alumno debe estar reinscripto a popuesta (no es inconveniente, lo tenemos detectado en requisito por accion y configurado en parametro para que sea obligatorio)
pero ademas no esta inscripto en el periodo lectivo a ninguna cursada, entonces en este primer caso puede inscribirse a cualquier mesa de cualquier materia
Caso 2: el alumno debe estar reinscripto a propuesta, pero estar cursando en el periodo lectivo hasta 2 materias, enctoncesen este caso dos puede inscribirse a cualquier materia salvo algunas de las de ciencias basicas (materias que tenemos detectadas)
Caso 3: el alumno esta reinscripto a la propuesta y esta cursando en el periodo lectivo mas de dos materias, entonces el comportamiento deseado es que solo se pueda inscribir a una mesa especial de cualquier materia, salvo las de ciencias basicas.
Muchas gracias por su ayuda. Saludos cordiales
Eugenia
¡Hola Eugenia! Probablemente algunas partes se resuelvan con las reglas existentes y otras dependan de la generación de nuevas. Más específicamente, ¿los casos que mencionan referencian a varias Responsables Académicas? Las actividades de Cs Básicas, ¿son de una RA en particular?
En este hilo se menciona un caso con una regla ‘nueva’ y cómo avanzar en esa personalización.
Hola Emilse! Me comunico en esta oportunidad porque estoy desarrollando la personalización para crear las reglas que te comentaba Eugenia en el mensaje anterior. Indagando en el tema y comenzando a desarrollar la regla puedo notar que es posible que la regla se desglose en varias. Como Euge describía tenemos que contemplar varios casos:
1)Que el alumno este cursando: En el caso de que el alumno NO este cursando SE PUEDE inscribir normalmente a la mesa de cualquier materia (incluyendo las básicas)
2)Que el alumno curse hasta dos materias: Si el alumno Si esta cursando y cursa HASTA 2 materias se puede inscribir a las materias que NO sean básicas (materia básica(lista de códigos de actividades que nos mandan desde la ua))
3)Que el alumno curse más de dos materias: Si el alumno Si esta cursando y cursa MÁS de 2 materias se puede inscribir a las materias que NO sean básicas (materia básica)
4)Que el alumno no tenga inscripción a Mesa Especial en el semestre actual: Si el alumno cursa MÁS de 2 materias y se quiere inscribir a materias que NO sean básicas solo podrá inscribirse si NO se inscribió ni rindió mesa especial en el semestre que se esta inscribiendo.
Analizando estos casos estamos pensando que quizás podríamos hacer uso de los Requisitos “Subordinados”, y crear las siguientes reglas:
1)Que el alumno este cursando
2)Que el alumno curse hasta dos materias
3)Que la materia a la que se quiere inscribir el alumno no sea Materia Basica
4)Que el alumno no tenga inscripción a Mesa Especial en el semestre actual
Si estuviéramos acertados con esta solución nos surge un problema, que no podemos crear los requisitos subordinados porque al seleccionar para agregarlo nos trae solo “DOCUMENTALES” y no de procesos, vimos el video que está subido a la wiki del SIU y da un ejemplo con requisitos documentales. Nos gustaría que nos guíes con respecto al concepto de “subordinado” para ver si lo estamos usando correctamente.
Saludos
[b]Caso 1[/b]: el alumno debe estar [b]reinscripto[/b] a popuesta (no es inconveniente, lo tenemos detectado en requisito por accion y configurado en parametro para que sea obligatorio) pero ademas[b] no esta inscripto en el periodo lectivo a ninguna cursada[/b], entonces en este primer caso puede inscribirse a cualquier mesa de cualquier materia
Caso 2: el alumno debe estar reinscripto a propuesta, pero estar cursando en el periodo lectivo hasta 2 materias, entonces en este caso dos puede inscribirse a cualquier materia salvo algunas de las de ciencias basicas (materias que tenemos detectadas)
Caso 3: el alumno esta reinscripto a la propuesta y esta cursando en el periodo lectivo mas de dos materias, entonces el comportamiento deseado es que solo se pueda inscribir a una mesa especial de cualquier materia, salvo las de ciencias basicas.
Creo que esto puede solucionarse con un solo control que agreguen en la operacion de inscripcion a examen.
En los 3 casos planteados el alumno debe tener la reinscripcion, con lo cual esto ya esta controlado con el requisito que ya existe que es que el alumno este reinscripto en la propuesta.
Por lo que veo tienen identificadolo siguiente:
materias de ciencias basicas
mesa especial: ¿Como identifican que es una mesa especial?
Por el requisito siguiente:
estar cursando en el periodo lectivo hasta 2 materias
¿Como van a controlar esto? ¿Verificaran si tiene inscripciones a cursadas de periodos lectivos vigentes?
El control deberia realizar lo siguiente:
Controlar Si esta reinscripto (esto puede agregarse aqui o configurar el requisito relacionado con la reinscripcion en la propuesta)
Si no esta reinscripto falla y no lo deja inscribir.
Recuperar cantidad de materias que esta cursando, es decir inscripciones a cursadas de periodos lectivos vigentes.
2.1 - Si no esta cursando materias entonces lo deja inscribir.
2.2 - Esta cursando 1 o 2 materias. Si la materia en la que se inscribe es de las ciencias basicas, no lo deja inscribir. En caso contrario lo deja inscribir.
2.3 - Esta cursando 3 o mas materias. Si la materia es de las ciencias basicas o no es una mesa especial, no lo deja inscribir. En caso contrario lo de ja inscribir (es una mesa especial de cualquier materia que no sea una materia de ciencias basicas)
Buenos días Alejandro:
Te comento que ya habíamos pensado configurar el requisito que ya existe para la parte de la condición de "si está reinscripto o no ", lo que me indicas es que a partir de ahí entonces en una sola regla controlar los otros 3 casos??
Para identificar las mesas especiales, bastaría con configurar el turno de llamado a la mesa en “Especial”, luego en la regla hacer las consultas necesarias para llegar a este dato por medio de los parámetros que llegan a la regla, que seria en este caso el id de la mesa a la que se quiere inscribir.
Con respecto al tema de controlar la cantidad de materias cursadas, te cuento que esta un poco verde ese tema pero en principio sería controlando que tengan inscripciones a cursadas en periodos lectivos vigentes.
Por otro lado, el camino del control que debemos realizar es tal cual lo describís, pero se me complica al momento de devolver un resultado de la regla, no entiendo como especificarlo.
Por lo que me comentas la respuesta concreta a mi pregunta es que no seria necesario hacer requisitos subordinados, si no resolverlo en uno solo.
Saludos
No, seria uno solo. Ya que con el dato de la mesa de examen en el llamado se puede obtener el dato de la mesa si es especial o no, la actividad en la que se esta inscribiendo el alumno, en base a la fecha de la mesa (o fecha actual que es el dato que recibe el control) se pueden buscar las actividades que esta cursando el alumno en periodos lectivos vigentes.
Vean de seguir el ejemplo que esta en la documentacion de la wiki que les pase en el mensaje anterior y cualquier duda nos avisan.
El control debería agregarse en el punto de control nro 9 - Elegir mesa de examen.
Este punto de control recibe los siguientes parámetros: alumno: Identificación del alumno actividad: Actividad a la que se inscribe a examen llamado_mesa: Mesa de Examen en el llamado al cual se inscribe el alumno fecha: Fecha en que se realiza la inscripción a examen.
Con la siguiente query pueden ver que requisitos estan actualmente en el punto de control 9, de alli pueden ver cual es el archivo php (regla_php) que tiene el codigo del requisito y tomar ese archivo como ejemplo para desarrollar el que necesitan.
Estos archivos que contienen el codigo de la regla se encuentran en la carpeta \php\nucleo_lib\reglas.
set search_path = negocio;
select *
from sga_requisitos_x_punto_control as rpc
join sga_requisitos as r on r.requisito = rpc.requisito
join sga_reglas as reg on reg.regla = r.regla
where rpc.pto_control = 9