Gracias por responder me acabo de dar cuenta que esta parte quedo mal
Queremos tener un libro de acta de actas de examen para todas las propuestas y uno para toda la universidad.
Lo que queremos es tener un libro de acta de actas de examen para todas las propuestas de todas las unidades académicas (Unificado) así podemos tener números de actas numéricas.
Si se crea un Libro de Actas para examen sin discriminar por propuesta o por ubicación, ese libro queda disponible de forma unificada para todas las unidades académicas.
Actualmente, estamos trabajando en un ambiente de pruebas y si cree un libro que no discrimina por propuesta ni por ubicación. Yo supuse que el problema se debía a que tenemos números de acta alfanumérica.
Antes que nada necesitaríamos que nos indiquen de qué institución son y en qué versión de Guaraní se encuentran.
Actualmente, estamos trabajando en un ambiente de pruebas y si cree un libro que no discrimina por propuesta ni por ubicación. Yo supuse que el problema se debía a que tenemos números de acta alfanumérica.
Exacto, para lo que desean entonces el libro de actas tiene que estar configurado dejando vacías las solapas de alcances. De esta forma el sistema entiende que el libro abarca a toda la institución.
Cómo tienen configurados los siguientes parámetros?
exa_carga_manual_nro_acta_examen
exa_carga_manual_libro_examen
exa_forma_asignacion_folio_fisico
También les solicitamos que nos envíen los logs que se generan al momento del error.
Por lo que plantean entendemos que los números de acta migrados son alfanuméricos.
La idea es continuar utilizando números alfanuméricos? o utilizar sólo numéricos?
Están utilizando un nuevo Libro de actas creado desde cero en Guaraní 3? o están utilizando el libro que migraron?
Hola Martín, somos la Universidad Nacional Del Comahue y estamos migrando de la versión 2.93 a 3.21
exa_carga_manual_nro_acta_examen está como: El número de acta de examen se genera automáticamente.
exa_carga_manual_libro_examen dice “El libro de actas se ingresa manualmente por el usuario” pero en la solapa que dice Valor por Nivel pusimos “Valor = El libro de actas de examen se asigna automáticamente” y el listado de las responsabilidades académicas(Las que tenemos cargadas).
exa_forma_asignacion_folio_fisico dice “La asignación se realizará en la impresión del acta. Actas con/sin notas”
El log dice:
[NOTICE][guarani] Valor del parámetro ‘exa_carga_manual_nro_acta_examen’ = ‘N’ obtenido desde caché.
[DEBUG][guarani] SQL con perfil de datos: SELECT COALESCE(MAX(CAST(sga_actas.nro_acta AS integer)), 0) + 1 as nro_acta
FROM sga_actas
WHERE sga_actas.origen = 'E'
[ERROR][guarani] SQLSTATE[22P02]: Invalid text representation: 7 ERROR: la sintaxis de entrada no es válida para integer: «100 1»
[ERROR][guarani] No se puede generar el número de acta automáticamente.
[ERROR][toba] guarani_error: No se puede generar el número de acta automáticamente.
[TRAZA]
fabrica_guarani::error
Archivo: /usr/local/proyectos/guarani/php/nucleo/_lib/fabrica_guarani.php, Línea 82
guarani_nucleo::error
Archivo: /usr/local/proyectos/guarani/php/nucleo/examenes/actas/cn_ent_acta_examen.php, Línea 591
El libro lo generamos usando Guaraní 3.
Los números de acta que migramos son alfanuméricos y queremos empezar a usar numéricos.
Los vamos a analizar con los técnicos para ver qué sucede. Pareciera haber algún tema con la asignación del número correlativo, pareciera que deja un espacio en el medio y por eso falla.
Ustedes realizaron alguna personalización en el método generar_nro_acta de la clase co_actas.php ?
Vemos los logs con los técnicos y les comentamos los resultados del análisis.
Lo que debe estar sucediendo es que las actas migradas tenían una numeración alfanumérica, por lo que ahora al querer generar un nuevo valor numérico intenta ver el valor de la última acta y sumarle 1.
El tema es que por lo visto el número da la última acta que recupera es “100 “. Como si tuviera un espacio en blanco al final. Por lo que intenta crear el valor “100 1” y ahí falla.
Podrían verificar cuál es el valor numérico de la última acta que tienen en la base?
Lo pueden recuperar con esta consulta:
SELECT nro_acta FROM negocio.sga_actas where sga_actas.origen = ‘E’ ORDER BY nro_acta DESC LIMIT 1;
Hice la consulta y devuelve '999 99', pero no es un valor numérico.
Estábamos pensando en personalizar la función para que, a partir de la migración, la numeración de las actas sea únicamente numérica y comience, por ejemplo, desde la 10000. Eliminando de esta manera la personalización de las 2.9.
Exacto! Ese tipo de valores con espacios en blanco no están permitidos a priori como viene por defecto el sistema.
Si van a querer utilizar valores numéricos a partir de ahora lo mejor es que hagan lo que indican:
Estábamos pensando en personalizar la función para que, a partir de la migración, la numeración de las actas sea únicamente numérica y comience, por ejemplo, desde la 10000. Eliminando de esta manera la personalización de las 2.9.
Si tienen dudas sobre cómo realizar esto nos avisan y les indicamos cómo avanzar.
Perfecto, muchas gracias.
¿Cómo deberíamos realizar ese cambio? ¿Es necesario modificar la función generar_nro_acta o habría que hacerlo de otra manera?
Hola Franco, es correcto que les de error si no personalizaron la generacion automatica de nro de acta, debido a que por defecto considera que las actas generadas en el sistema el dato “nro_acta” es un dato numerico, con lo cual busca el maximo asignado a un acta y devuelve el siguiente.
En estos dos casos que planteas, no es un dato numerico al tener el espacio en el medio. Eso es correcto que quede asi? Es decir el numero de acta esta conformado por dos numeros? De ser asi entonces tienen que personalizar la generacion automatica de numero de acta.
Si no debe ser asi, y ese blanco esta demas en esos numeros de actas, entonces deben corregir esos numeros para que “51727” sea un numero “51727” sin el espacio en blanco en el medio.
Si quieren personalizar a partir de la migracion, deberian:
Ver cual es el maximo nro de acta (id_acta) de migracion.
Personalizar el metodo que genera el numero de acta, para que solo considere actas con id mayor al maximo generado con la migracion (asi no las tiene en cuenta). Si no encuentra ninguna, que comience en 10000 sino, sumar uno como lo esta haciendo ahora.
Franco, recuerden aplicar este cambio como una personalizacion. No modificar directamente el archivo original, sino dentro de la carpeta personalizaciones, agregar el archivo con el metodo personalizado.