En el archivo log del apache me que ci_edi_administrar_solicitudes_constancias::$s__datos_solicitud está sin definir, transcribo el error:
[Tue May 12 06:54:51 2015] [error] [client 200.61.248.2] PHP Notice: Undefined property: ci_edi_administrar_solicitudes_constancias::$s__datos_solicitud in /usr/local/proyectos/guarani/php/operaciones/constancias/administrar_solicitudes/ci_edi_administrar_solicitudes_constancias.php on line 97, referer: http://200.61.248.77/guarani/3.10/aplicacion.php?ah=st5551cd2cc9ea4&ai=guarani||37000080
[Tue May 12 06:54:51 2015] [error] [client 200.61.248.2] PHP Warning: Invalid argument supplied for foreach() in /usr/local/proyectos/guarani/php/operaciones/_lib/ev_info_datos_nucleo.php on line 40, referer: http://200.61.248.77/guarani/3.10/aplicacion.php?ah=st5551cd2cc9ea4&ai=guarani||37000080
[Tue May 12 06:54:51 2015] [error] [client 200.61.248.2] PHP Notice: Undefined property: ci_edi_administrar_solicitudes_constancias::$s__datos_solicitud in /usr/local/proyectos/guarani/php/operaciones/constancias/administrar_solicitudes/ci_edi_administrar_solicitudes_constancias.php on line 117, referer: http://200.61.248.77/guarani/3.10/aplicacion.php?ah=st5551cd2cc9ea4&ai=guarani||37000080
[Tue May 12 06:54:51 2015] [error] [client 200.61.248.2] PHP Notice: Undefined property: ci_edi_administrar_solicitudes_constancias::$s__datos_solicitud in /usr/local/proyectos/guarani/php/operaciones/constancias/administrar_solicitudes/ci_edi_administrar_solicitudes_constancias.php on line 121, referer: http://200.61.248.77/guarani/3.10/aplicacion.php?ah=st5551cd2cc9ea4&ai=guarani||37000080
Hola Sergio,
estás trabajando con la operación de Administrar Solicitudes? Qué certificado estás intentando imprimir? Por lo que muestra el log parece que no estaría pudiendo recuperar correctamente los datos de la Constancia que estás intentando imprimir desde la base.
Podrías verificar la sql que está ejecutando en el log de Toba sobre el id de constancia con el que estás trabajando, para corroborar qué datos tiene asociados en la base de negocios. De ser posible, adjuntanos el log del sistema y la secuencia de pasos que ejecutaste para llegar a ese estado.
Agrego otra cosa, el error de la variable Nula sale cuando una vez hecho el pedido de impresión (que no sale), pongo “Volver” en la operación, para volver a la operación de solicitud de Certificados.
Tranciscribo los errores al hacer click en volver:
Mirando uno por uno los SQLs ejecutados, veo que el último no devuelve ningún dato,
y mirando la tabla sga_constancias_solicitud_param no tiene ningún dato por lo que veo, como que no guarda los datos de los parámetros.
Va el SQL:
SELECT
sga_constancias_solicitud_param.campo,
sga_constancias_solicitud_param.valor,
mce_campos.tipo_de_dato
FROM
"negocio".sga_constancias_solicitud_param,
"negocio".mce_campos
WHERE
sga_constancias_solicitud_param.solicitud = '17'
AND sga_constancias_solicitud_param.campo = mce_campos.campo
//Seteo el logo de la Institución correspondiente, si no existe seteo el logo de Guarani
$path_logo = guarani::get_path_logo_impresion();
$report->set_parametro('logo', 'S', $path_logo);
$report->set_parametro('solicitud', 'E', $this->s__solicitud);
if (!is_null($this->s__datos_form_rechazo['autoridad'])) {
$autoridad = toba::consulta_php('co_autoridades_cargos')->get_datos_basicos_autoridad($this->s__datos_form_rechazo['autoridad']);
$str = (is_null($autoridad['autoridad_titulo'])) ? $autoridad['autoridad_nombre'] : $autoridad['autoridad_titulo'].' '.$autoridad['autoridad_nombre'];
$report->set_parametro('autoridad_nombre', 'S', $str);
$report->set_parametro('autoridad_cargo', 'S', $autoridad['autoridad_cargo']);
}
$parametros = toba::consulta_php('co_constancias')->get_solicitud_params($this->s__solicitud);
ei_arbol($parametros);
foreach ($parametros as $param) {
$report->set_parametro($param['campo'], $param['tipo_de_dato'], $param['valor']);
}
Hola Sergio,
vamos por partes así es más fácil determinar en qué casos se está dando el error:
El tema de los parámetros no tiene que ver con el error que mostrabas antes, es correcto que para algunos certificados no traiga nada esa consulta, ya que según el certificado puede haber o no parámetros asociados.
La impresión muestra una hoja en blanco, o tira un error del null pointer? En la consola donde tenés levantado el JavaBridge muestra algo? Esto siempre hablando al momento de la impresión, sin continuar con el circuito al volver a la operación de Solicitar.
Según entiendo estás ingresando desde la operación de Solicitar y pasás a la de Administrar Solicitudes para imprimirla. Tenés más de una sesión en simultáneo? Podés verificar que la Solicitud de Constancia en cuestión haya quedado bien grabada en la BD previamente a imprimir? Por lo que decís todos los otros certificados con Jasper se imprimen correctamente, con lo cual esto se da sólo en este circuito de operaciones con cualquier certificado y alumno. Por el error que vemos, al parecer hay algún problema en los datos de la solicitud, pero no estamos pudiendo replicar el caso.
Hola Gabriela, te comento el circuito paso a paso:
Recién lo ejecuté directamente desde el Toba Editor, sin ninguna otra instancia abierta:
» Constancias y Certificados » Solicitar Constancias y Certificados,
ahí busco al alumno por Apellido, pongo Filtrar, luego lo elijo al alumno con la lupa, ahí me aparece que “No se encontraron Solicitudes de Constancias.”
entonces hago click en Agregar y elijo por ejemplo: Constancia () - Constancia de Alumno Regular, Cantidad de Copias: 1, Presentar ante () : Quien corresponda, Observaciones: Nada
Luego hago Click en Guardar cuando me pregunta. “La solicitud se generó correctamente ¿Desea continuar trabajando con esta Constancia?”
Luego selecciono la Autoridad Firmante (he probado sin seleccionarla también)
En ese momento el Jasper en la consola me da este error:
May 14 06:56:31 VMBridge ERROR: An exception occured: java.lang.NullPointerException: cannot call “createStatement()” on a Java null object. A previous Java call has returned a null value, use java_is_null($jvalue) to check.
java.lang.NullPointerException: cannot call “createStatement()” on a Java null object. A previous Java call has returned a null value, use java_is_null($jvalue) to check.
at php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1009)
at php.java.bridge.Request.handleRequest(Request.java:415)
at php.java.bridge.Request.handleRequests(Request.java:491)
at php.java.bridge.http.ContextRunner.run(ContextRunner.java:146)
at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
Al cerrar está página “vacía”, me vuelve a aparecer la página en donde hice imprimir, con el siguiente cartel:
" La constancia se imprimió correctamente. "
En donde le doy “Aceptar” y ahí nomás queda.
Ahora, lo raro es que ahora me está saliendo un error nuevo en el visor de Toba. (por alguna razón esto antes no salía):
SQLSTATE[22P02]: Invalid text representation: 7 ERROR: la sintaxis de entrada no es válida para integer: «»
LINE 16: sga_constancias_autoridades.constancia = ‘’
^
toba_error_db: <p><b>SQLSTATE:</b> db_22P02</p><p><b>CODIGO:</b> 7</p><p><b>MENSAJE:</b> ERROR: la sintaxis de entrada no es válida para integer: «» LINE 16: sga_constancias_autoridades.constancia = '' ^</p><p><b>SQL:</b> SELECT sga_constancias_autoridades.autoridad, sga_constancias_autoridades.en_calidad_de, sga_autoridades.apellido || ', ' || sga_autoridades.nombres as autoridad_nombre, CASE sga_constancias_autoridades.en_calidad_de WHEN 'T' THEN 'TITULAR' WHEN 'S' THEN 'SUPLENTE' END as autoridad_calidad FROM sga_constancias_autoridades, sga_autoridades WHERE sga_constancias_autoridades.autoridad = sga_autoridades.autoridad AND sga_constancias_autoridades.constancia = '' ORDER BY en_calidad_de DESC – toba_log: 716001798 </p> [TRAZA]exception ‘toba_error_db’ with message ‘SQLSTATE[22P02]: Invalid text representation: 7 ERROR: la sintaxis de entrada no es válida para integer: «»
LINE 16: sga_constancias_autoridades.constancia = ‘’
^’ in /usr/local/proyectos/guarani/lib/toba/php/lib/db/toba_db.php:385
Va adjunto archivo con todo lo que sale en el visor.
Lo raro es que ahora volví a probar y ese error no sale!
Pero sigue saliendo el error:
May 14 08:27:38 VMBridge ERROR: An exception occured: java.lang.NullPointerException: cannot call “createStatement()” on a Java null object. A previous Java call has returned a null value, use java_is_null($jvalue) to check.
java.lang.NullPointerException: cannot call “createStatement()” on a Java null object. A previous Java call has returned a null value, use java_is_null($jvalue) to check.
at php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1009)
at php.java.bridge.Request.handleRequest(Request.java:415)
at php.java.bridge.Request.handleRequests(Request.java:491)
at php.java.bridge.http.ContextRunner.run(ContextRunner.java:146)
at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
Hola Sergio,
como te comentaba antes, para poder encerrar el bug veamos lo que sucede cuando falla la impresión, sin seguir ejecutando eventos posteriores que seguramente darán lugar a nuevos errores encadenados.
Sigue pareciendo que hay un error en los datos de la solicitud generada. Para asegurarnos que no hay un problema con la sesión de php te pedimos que pruebes lo siguiente: en lugar de navegar desde la operación de Solicitar Constancias y Certificados, a partir de la opción ‘¿Desea continuar trabajando con esta Constancia?’, solicitá la constancia, guardala y verificá que esos datos hayan quedado correctos, después dirigite manualmente a la operación de Administrar Solicitudes para imprimirla, y envianos el log correspondiente a esa secuencia cuando surge la falla (no las url’s locales ya que no tenemos acceso a las mismas).
Pudiste verificar si este problema se da sólo con este certificado y en el resto de las impresiones jasper funcionan correctamente?
En donde corresponde a la alumna y certificado elegido.
Y la tabla:
sga_constancias_solicitud_param;
– No hay registro de esta solicitud.
Luego de esto voy a:
Constancias y Certificados »Administrar Solicitudes
Elijo la Autoridad Firmante, hago Imprimir y me sale lo mismo que hoy:
[[o:Exception]:“java.lang.Exception: Invoke failed: [[o:Request$PhpNull]]->createStatement. Cause: java.lang.NullPointerException: cannot call “createStatement()” on a Java null object. A previous Java call has returned a null value, use java_is_null($jvalue) to check. VM: 1.6.0_27@http://java.sun.com/” at:
Ahora te paso como quedo la tabla sga_constancias_solicitud, luego de imprimir (sin entregar, probe entregar y me sale lo mismo):
45;1744;1;“2015-05-14 11:00:11.976812-03”;1;“2015-05-14 11:08:53.326616-03”;1;“”;;“Quien corresponda”;“Prueba”;1;62950;“Impreso”
Con respecto a las impresiones, probé Imprimir Actas, de Examen y Cursado y anda bien. Tengo enrtendido esto usa Jasper también. Y me funcionó.
Luego imprimí otros reportes, pèro no se si usa Jasper o no. Tampoco tuve problemas.
Hola Sergio,
te pedimos si podés generar un gds para seguir tu caso con los datos particulares de tu instalación y base, ya que no estamos pudiendo replicar el error.