Hola comunidad, quiero utilizar esta extension para hacer un reporte creado con JasperSoft iRepor, tengo el reporte elaborado y ubicado en la carpeta Reportes dentro del proyecto, llamo asi el reporte:
en el controlador tengo la funcioin Reportes
public function actionReportes() {
$q = "SELECT tbl_detallesres.PM+tbl_detallesres.CLA+tbl_detallesres.PGE+tbl_detallesres.PEA+tbl_detallesres.GPS+tbl_detallesres.NOC+tbl_detallesres.PO+tbl_detallesres.OP AS OtrosPagos,
LAST_DAY(tbl_resultados.fecha) AS fechafin,
DATE_FORMAT(tbl_resultados.fecha,'01/%m/%Y') AS fechaini,
tbl_trabajadores.Nombre AS Nombre,
tbl_resultados.Id_Nomina AS Id_Nomina,
tbl_resultados.fecha AS fecha,
tbl_resultados.Salarioxtrt AS Salarioxtrt,
tbl_resultados.Salariocret AS Salariocret,
tbl_resultados.ImporteSS AS ImporteSS,
tbl_detallesres.IdTrab AS IdTrab,
tbl_detallesres.IdArea AS IdArea,
tbl_detallesres.IdCC AS IdCC,
tbl_detallesres.SEscala AS SEscala,
tbl_detallesres.TRT AS TRT,
tbl_detallesres.TotalDedu AS TotalDedu,
tbl_detallesres.Salariotrt AS Salariotrt,
tbl_detallesres.Salarioxres AS Salarioxres,
tbl_detallesres.Salariomret AS Salariomret,
tbl_detallesres.ImporSS AS ImporSS,
tbl_detallesres.Neto AS Neto,
tbl_empresa.CodREEUP AS CodREEUP,
tbl_empresa.Descripcion AS Descripcion,
tbl_entidades.NEnt AS NEnt,
tbl_area.Descripcion AS Descripcion,
tbl_resultados.ImporNeto AS ImporNeto,
tbl_resultados.CodUEB AS CodUEB,
tbl_tiponomina.Tipos AS Tipos,
tbl_submayor.SDiasAct AS SDiasAct,
tbl_submayor.SImpAct AS SImpAct,
tbl_trabajadores.CI AS CI,
tbl_detallesres.PAP AS PAP,
tbl_centrocosto.descripcion AS tbl_centrocosto_descripcion,
tbl_detallesres.TotalSal AS tbl_detallesres_TotalSal,
tbl_resultados.SalarioxRes AS tbl_resultados_SalarioxRes
FROM
tbl_trabajadores tbl_trabajadores INNER JOIN tbl_submayor tbl_submayor ON tbl_trabajadores.NControl = tbl_submayor.IdTrab
INNER JOIN tbl_detallesres tbl_detallesres ON tbl_trabajadores.NControl = tbl_detallesres.IdTrab
INNER JOIN tbl_area tbl_area ON tbl_trabajadores.IdArea = tbl_area.IdArea
AND tbl_area.IdArea = tbl_detallesres.IdArea
AND tbl_area.IdArea = tbl_submayor.IdArea
INNER JOIN tbl_centrocosto tbl_centrocosto ON tbl_area.IdArea = tbl_centrocosto.IdArea
AND tbl_centrocosto.CodCC = tbl_detallesres.IdCC
INNER JOIN tbl_resultados tbl_resultados ON tbl_detallesres.Id_nomina = tbl_resultados.Id_Nomina
INNER JOIN tbl_entidades tbl_entidades ON tbl_resultados.CodUEB = tbl_entidades.CodUEB
INNER JOIN tbl_tiponomina tbl_tiponomina ON tbl_resultados.IdNom = tbl_tiponomina.Id
INNER JOIN tbl_empresa tbl_empresa ON tbl_entidades.CodUEB = tbl_empresa.CodUEB
WHERE
tbl_resultados.Id_Nomina = '{idnom}'
GROUP BY
tbl_resultados.Id_Nomina,
tbl_detallesres.IdTrab,
tbl_detallesres.IdCC
ORDER BY
tbl_detallesres.IdCC ASC,
tbl_detallesres.IdTrab ASC";
$cmd = Yii::app()->db->createCommand($q);
$result = $cmd->queryScalar();
Yii::app()->jasPHP->create(getcwd() . '/Reportes/', 'Nomina_por_Resultados.jrxml', array('title' => $result,));
}
Esta consulta es la misma que tengo en el reporte elaborado en iReport con el parametro de la condicion.
esta funcion la estoy llamando mediante un boton creado en el admin, donde llama por id en este caso (tbl_resultados.Id_Nomina)
Este es el boton:
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'tbl-datos-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
array(
'header' => 'Imprimir Nómina',
'class' => 'CButtonColumn',
'template' => '{imprimir}',
'buttons' => array(
'imprimir' => array(
'label' => 'Imprimir Nómina de Salario',
'imageUrl' => Yii::app()->request->baseUrl . '/images/prin1.png',
'url' => '$this->grid->controller->createUrl("/tblDatos/Reportes", array("id"=>$data->Id))',
),
),
),
'Numero',
'fecha',
'CodUEB',
array(
'header' => 'Calcular Pago por Resultados',
'class' => 'CButtonColumn',
'template' => '{cancelar}',
'buttons' => array(
'cancelar' => array(
'label' => 'Calcular Nómina de Resultados',
'imageUrl' => Yii::app()->request->baseUrl . '/images/Calcular.png',
'url' => '$this->grid->controller->createUrl("/tblDatos/calcularResultados", array("id"=>$data->Id))',
),
),
),
),
));
?>
Cuando ejecuto la accion del botón me genera este error:
CDbException
CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{idnom}
GROUP BY …
Neceito ayuda con esto, si alguien tiene experiencia en el uso de esta extension.