Correlativa especial separarla en varias

Hola
Estamos migrando de G2 a G3.20.
En G2 tenemos correlativas especiales.
Analizando un poco las mismas, observo que una de ellas es un SP que aplica a varias actividades, y recibe como parámetro la materia. De acuerdo a cual sea la materia, controla distintas cosas.

  • Para algunas actividades controla que se cumpla A
  • Para otra actividad controla que se cumpla A + B
  • Y para otras actividades controla que se cumpla A + C

Con lo cual estaba pensando en definir 3 reglas, A, B y C. Y asociarle a cada actividad sólo las reglas que correspondan.
Es correcto este planteo?

De ser así, ya programé la parte de la lógica A que contenía la correlativa especial en la clase php que queda definida con el mismo nombre de la regla/requisito.
También ya tengo la lógica de la regla B en otra clase php y el requisito y la regla creadas.
Pero se me está complicando cómo asociar este control a la actividad que le corresponde.
Podrían orientarme un poco?
Gracias!!

Iris

Esto se puede resolver con un solo requisito.
La regla que implemente este requisito recibirá la materia en la que se esta inscribiendo el alumno en el parámetro elemento_inscripcion
Dentro de la regla podras ver que actividad seleccionó el alumno y sobre la cual se controla la correlativa.
Entonces segun que actividad sea verificaras que se cumpla A, A+B o A+C

Adjunto un ejemplo de un requisito para usar como correlativa de una actividad. En particular este requisito verifica que el alumno sea ingresante. Podes cambiar el codigo de la regla y alli tomar el dato del parametro “elemento_inscripcion” y hacer el control antes mencionado.


RequisitoSerIngresante-Correlativas.rar (2.38 KB)

Muchas gracias Alejandro
Terminé programando una única regla, que recibiera como parámetro la actividad, y de acuerdo a eso aplica un control u otro.
Muchas gracias por la orientación, pude resolver este tema.
La única aclaración es que como parámetro corresponde que sea “elemento” y no “elemento_inscripcion”, este último no lo reconoce y da error.


// Parámetros de contexto
$alumno = $this->get_parametro('alumno');
$actividad = $this->get_parametro('elemento'); // Actividad en la que se inscribe el alumno.

Saludos

Iris

El requisito que creaste, lo definiste como una correlativa de la actividad (correlativa especial de G2) ?

Hola

Quedó creada en la migración

Advertencia: Se crearon reglas relacionadas con las correlativas especiales. Debe programar las reglas de cada correlativa especial...

Lo único que hice fue programar la regla y seguir las indicaciones especificadas en: https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/Migracion/Desde_SIU_Guarani_2/Migracion/consideraciones_finales

Alguna observación que debe tener en cuenta?
Gracias!!

Iris

Ninguna observación.

Hola Alejandro
Me vuelve a surgir una duda con este tema, qué parámetro recibe exactamente del contexto?

Cuando defino:

// Parámetros de contexto $alumno = $this->get_parametro('alumno'); $actividad = $this->get_parametro('elemento'); // Actividad en la que se inscribe el alumno.

Se está haciendo referencia el “elemento” de la tabla sga_elementos, o al “elemento_revision” de la tabla sga_elementos_plan?

Gracias!!
Iris

Hola
Pude seguirlo un poco con los log del sistema, y haciendo pruebas, me di cuenta que efectivamente el parámetro de contexto era como indicaban ustedes: elemento_inscripcion.
No se por qué la primera vez que quise darlo de alta me daba error… ahora luego de mucho ir y venir, y hacer update y probar, me lo tomó.
Y funciona correctamente.
Muchas gracias!
Saludos

Iris