Hola Estimado
muchas gracias por la info, pero no me anda el imprimir cree el evento pdf cree el nuevo jasper template_guarani_grande.jrxml lo pegue en la ubicacion donde estan los jasper.
pero si bien en mi reporte me sale el boton imprimir que agregue con el evento no se como mandar el cuadro a ese evento.
agregue la funcion al ci
public function get_template()
{
return toba::proyecto()->get_path_pers().'/exportaciones/jasper/' . 'template_guarani_grande.jrxml';
}
pero no se que agregar en evt__pdf() para imprimir el cuadro.
te paso parte del ci como lo tengo para que me indiques que me falta:
class ci_reporte_eval extends guarani_pers_ci
{
protected $s__filtro;
//-----------------------------------------------------------------------------------
//---- Eventos ----------------------------------------------------------------------
//-----------------------------------------------------------------------------------
function evt__pdf()
{
}
//-----------------------------------------------------------------------------------
//---- cuadro_evaluaciones ----------------------------------------------------------
//-----------------------------------------------------------------------------------
public function get_template()
{
return toba::proyecto()->get_path_pers().'/exportaciones/jasper/' . 'template_guarani_grande.jrxml';
}
function conf__cuadro_evaluaciones(guarani_pers_ei_cuadro $cuadro)
{
// print_r($filtro);
if (isset($this->s__filtro)) {
$where = '';
$filtro = $this->s__filtro;
// print_r($filtro);
if (isset($filtro['comision'])) {
$asas = $filtro['comision'];
$where = $where." AND s_com.comision = '".$asas['valor']."'";
}
if (isset($filtro['elemento'])) {
$asas = $filtro['elemento'];
$where = $where." AND s_com.elemento = '".$asas['valor']."'";
}
if (isset($filtro['evaluacion_nombre'])) {
$asa = $filtro['evaluacion_nombre'];
$where = $where." AND eva.nombre like '%".$asa['valor']."%'";
}
if (isset($filtro['fecha'])) {
$asas = $filtro['fecha'];
$where = $where." AND t_sed.fecha = '".$asas['valor']."'";
}
if (isset($filtro['resultado'])) {
$asas = $filtro['resultado'];
$where = $where." AND t_sed.resultado like '%".$asas['valor']."%'";
}
if (isset($filtro['tipo_eval'])) {
$asas = $filtro['tipo_eval'];
$where = $where." AND teva.evaluacion_tipo = '".$asas['valor']."'";
// if($asas['valor']=='2')
// $where = $where." AND (t_sed.resultado like '%R%' or t_sed.resultado is null)";
}
if (isset($filtro['numero'])) {
$asa = $filtro['numero'];
$where = $where." AND eva.evaluacion ='".$asa['valor']."'";
}
$sql = "select
t_sed.evaluacion,
eva.nombre as evaluacion_nombre,
CONCAT(t_sed.evaluacion,' - ',eva.nombre) as num_eval,
CONCAT(per.apellido,', ',per.nombres) as alumno,
t_sed.fecha,
t_sed.nota,
t_senr.descripcion as resultado_nombre,
t_sed.corregido_por,
t_sed.observaciones,
t_sed.rectificado,
t_sed.ultimo_cambio,
t_sade.nombre as estado_nombre,
teva.nombre as tipo_eval,
teva.evaluacion_tipo as tipo_eval_id,
perdoc.nro_documento as dni,
'' as notas,
s_prop_ra.responsable_academica ra
FROM
negocio.sga_eval_detalle as t_sed
inner join negocio.sga_evaluaciones as eva on (t_sed.evaluacion = eva.evaluacion)
inner join negocio.sga_evaluaciones_tipos as teva on (teva.evaluacion_tipo = eva.evaluacion_tipo)
inner join negocio.sga_actas_detalle_estado as t_sade on t_sed.estado=t_sade.estado
inner join negocio.sga_alumnos as alu on alu.alumno=t_sed.alumno
left outer join negocio.sga_propuestas s_prop on s_prop.propuesta=alu.propuesta
left outer join negocio.sga_propuestas_ra s_prop_ra on s_prop.propuesta=s_prop_ra.propuesta
left outer join negocio.sga_comisiones s_com on eva.entidad=s_com.entidad
left outer join negocio.sga_elementos s_ele on s_ele.elemento=s_com.elemento
inner join negocio.mdp_personas as per on per.persona=alu.persona
inner join negocio.mdp_personas_documentos as perdoc on per.persona=perdoc.persona
LEFT OUTER JOIN negocio.sga_escalas_notas_resultado as t_senr ON (t_sed.resultado = t_senr.resultado)
WHERE
t_sed.estado = t_sade.estado
and extract(year from eva.fecha)=date_part('year',now())
and perdoc.tipo_documento=0 ".$where."
ORDER BY evaluacion";
$result = toba::db()->consultar($sql);
if (! empty($result)) {
$cant = count($result);
// echo '
CANTIDAD’.$cant ;
$string = “”;
for($a = 0;$a < $cant-1;$a++){
$string = $result[$a]['dni'];
$facu=$result[$a]['ra'];
//echo "
FACULTAD: ".$facu;
$deuda = $this->Obtener_Deuda($string,$facu);
// echo ’
DNI’.$string.’ - tipo eval: '.$result[$a][‘tipo_eval_id’];
if($result[$a][‘tipo_eval_id’]!=‘6’ && $deuda>0)
$result[$a][‘notas’] = “AUS - AUSENTE POR MORA”;
}
}
$cuadro->set_datos($result);
}else{
$sql = "select
t_sed.evaluacion,
eva.nombre as evaluacion_nombre,
CONCAT(per.apellido,', ',per.nombres) as alumno,
t_sed.fecha,
t_sed.nota,
t_senr.descripcion as resultado_nombre,
t_sed.corregido_por,
t_sed.observaciones,
t_sed.rectificado,
t_sed.ultimo_cambio,
t_sade.nombre as estado_nombre,
teva.nombre as tipo_eval,
teva.evaluacion_tipo as tipo_eval_id,
perdoc.nro_documento as dni,
'' as notas
FROM
negocio.sga_eval_detalle as t_sed
inner join negocio.sga_evaluaciones as eva on (t_sed.evaluacion = eva.evaluacion)
inner join negocio.sga_evaluaciones_tipos as teva on (teva.evaluacion_tipo = eva.evaluacion_tipo)
inner join negocio.sga_actas_detalle_estado as t_sade on t_sed.estado=t_sade.estado
inner join negocio.sga_alumnos as alu on alu.alumno=t_sed.alumno
inner join negocio.mdp_personas as per on per.persona=alu.persona
inner join negocio.mdp_personas_documentos as perdoc on per.persona=perdoc.persona
LEFT OUTER JOIN negocio.sga_escalas_notas_resultado as t_senr ON (t_sed.resultado = t_senr.resultado)
WHERE
t_sed.estado = t_sade.estado AND perdoc.nro_documento='30'
ORDER BY evaluacion";
//echo $sql;
$result = toba::db()->consultar($sql);
$cuadro->set_datos($result);
}
}
//-----------------------------------------------------------------------------------
//---- filtro -----------------------------------------------------------------------
//-----------------------------------------------------------------------------------
function conf__filtro(guarani_pers_ei_filtro $filtro)
{
}
function evt__filtro__filtrar($datos)
{
$this->s__filtro = $datos;
}
function evt__filtro__cancelar()
{
}
Desde ya muchas gracias y saludos