[SOLUCIONADO]Error con regla

Genet buen día, les comento que dimos de alta una nueva regla en G3 y al momento de la validación en Autogestión ,el log me tira un error el cual dice que la regla no existe. Se realizaron los pasos indicados en el instructivo http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.15.0/personalizaciones/requisito_proceso y se dieron de alta los DCA en la base y sigue apareciendo el error en el log.
ERROR:
PHP Fatal error: Class ‘regla_inscripciones_a_cursada’ not found in /u/proyectos/g3w3/src/siu/modelo_g3/nucleo/_lib/guarani_nucleo.php on line 201

También les quería comentar lo siguiente, lo que hicimos para que funcione fue, sacamos la regla, entramos en autogestión, hicimos la acción correspondiente (inscribir a un alumno), le dimos de baja. Volvimos a poner la regla y … funcionó. No entendemos porqué. Necesitamos algo de luz en este error.

Muchas gracias

Hola buenos días!

El comando generar_autoload revisa las clases utilizadas en gestión y donde están ubicadas, para que luego puedan ser usadas en autogestión.

Si no encuentra la clase es un error común que se arregla ejecutando dicho comando desde el bin del proyecto de autogestión.

Importante: Dicho comando modifica el archivo g3w_autoload.php ubicado en 3w_trunk/src/siu/modelo_g3/nucleo/g3w_autoload.php

Ahí agrega la clase, en este caso debería agregar regla_inscripciones_a_cursada ahí.

Y luego ese archivo g3w_autoload.php debería ser commiteado para que al hacer el update en el sistema se tome en cuenta dicha clase también.

Cualquier duda nos consultan

Joaquín, gracias por la respuesta, te comento, ejecutamos el comando y buscamos dentro del archivo que mencionas, g3w_autoload.php, y no encontramos mención alguna a " regla_inscripciones_a_cursada". Qué puede estar pasando? Te comento que al ejecutar el comando, este nos devolvió un OK.

Por lo que estuvimos viendo, al parecer el problema está en que el alta de la nueva regla fue desarrollada en la versión 3.15.1.4 de Gestión, y la última versión de Autogestión (3.15.1.3) apunta a Gestión 3.15.1.3 . Cuando hagan una versión nueva de Gestión, para que los cambios impacten en 3w, recuerden siempre hacer una versión de 3w para que apunte a la correcta versión de Gestión y se puedan ver reflejados los cambios. Para más información puede ver esta documentación.

Nota: Lo de autoload me confundí, en realidad el comando que deben ejecutar no es autoload sino el comando pers_autoload, y los archivos que modifican son guarani_clases_consultas_nuevas.php y/o guarani_autoload_clases_nuevas.php (en su caso en este último archivo va a estar la regla 'regla_inscripciones_a_cursada). Esa parte se encuentra en esta documentación.

En resumen los pasos serían los siguientes.

  1. Agregar la regla en gestión
  • En caso de que se cree una nueva versión (3.15.1.4) para incorporar dicha regla, recordar siempre hacer un 3.15.1.4 de 3w para que apunte a 3.15.1.4 de Gestión
  1. Ejecutar el comando bin/guarani pers_autoload, que va a hacer que aparezca la clase en guarani_clases_consultas_nuevas.php o guarani_autoload_clases_nuevas.php
  2. Hacer un commit para que los archivos mencionados se suban.

Joaquín, muchas gracias por la asistencia. Estamos ya probando y por el momento funciona. Vamos a esperar unos días más para cerrar el requerimiento.

Nuevamente gracias.

Perfecto! Muchas gracias a ustedes, cualquier duda que tengan nos avisan!

Ya se puede cerrar , muchas gracias

Buenas tardes, perdón que reviva este tema pero dimos de alta una nueva regla y lo que nos sucede ahora es que el mensaje de error no es el que definimos en el DCA. Dónde nos podríamos fijar para que devuelva el mensaje que está adsociado a la regla?

Saludos

Hola José,
Nos podrías decir la versión en que se encuentran?, cuando crearon la nueva regla definieron la tabla sga_reglas_mensajes, en la siguiente documentación se explica en detalle como definir un requisito de tipo proceso y se muestra un ejemplo de aplicación.
Saludos

Hola!
@stalavera estamos en la versión 3.21.3, seguimos toda la documentación y no sé porque no me está funcionando la regla en W3. Te comento un poco, desarrollamos la regla e hicimos un merge para no hacer una versión de 4 dígitos nueva.

Realizamos lo antes descripto en este hilo y no funciona en W3. No entiendo que puede estar ya que tenemos un par de reglas funcionando y siempre las hicimos de la misma manera, lo único que cambia es el SP al que llamamos.

Gracias

José
podrás enviarnos los logs de al momento de querer aplicar la regla así lo pueden ver los especialistas.
En gestión les funciona bien? o sólo no está controlando 3w ?
Cómo sería, no se está controlando y deja pasar la acción, o si es que está mostrando como que no cumple cuando en realidad debería estar cumplido.
Gracias.

Stella, paso el archivo solicitado. El tema es así, en Gestión funciona bien, realiza la validación y muestra el mensaje correcto. En 3W se genera un error y según lo que se puede ver en el log, llega hasta la regla, pero en la página muestra el error general “Error en la inscripción”.

En la tabla sga_reglas_mensajes dimos de alta el mensaje con el campo interfaz =2 y luego de haber realizado la regla, en /path/bin ejecutamos guarani pers_autoload

El cual dio OK como resultado.

Muchas gracias!
log_autogest.log (164,0 KB)

@stalavera buen día, tienen alguna novedad sobre esto?

Buen día José,
lo está analizando el equipo técnico en cuanto puedan responderán la consulta.
Saludos

Estimados,
Es urgente solucionar este problema.
Muchas Gracias.
Carla Villanueva

@stalavera encontré el error, estaba mandando de manera errónea un parámetro del SP que ejecutamos para evaluar la regla.

Se me escapó una “l” en el medio y por eso daba error en el SP.

Gracias

Buen día José,
buenísimo que hayas podido detectar donde estaba el inconveniente y te agradezco que nos hayas avisado.
Saludos.