Yii Framework Forum: Dudas con la extension JasPHP - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Dudas con la extension JasPHP Necesidad de implementar a reportes Rate Topic: -----

#1 User is offline   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 204
  • Joined: 02-October 13
  • Location:Cuba

Posted 07 September 2017 - 11:54 AM

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.
0

#2 User is offline   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 204
  • Joined: 02-October 13
  • Location:Cuba

Posted 21 September 2017 - 08:10 AM

[quote name='rafaelrosales' timestamp='1504803269' post='312128']
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

El problema es que necesito correr los reportes generados con iReport con parametros, por las ventajas que da al hacerlo visual y necesito hacer reportes con agrupamiento, subtotales y totales, ademas de hacer el reporte de facturas, he probado con varias extensiones y con niguna lo he logrado, hasta ahora utilizo exportar a excel y html puro, pero no es lo que quiero.
Alguna sugerencia?
0

#3 User is offline   lagogz 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 739
  • Joined: 30-November 12
  • Location:Galiza

Posted 28 September 2017 - 05:31 AM

Buenas, Rafael.

1º- La consulta te saca ese error pq existe un error de sintaxis SQL. Yo no lo veo (tampoco he revisado minuciosamente la consulta), pero tiene que estar. Has ejecutado la consulta en un cliente SQL?

2º- He intentado probar la extensión iReport y parece que no está acabada o no está bien diseñada. Prueba a deshabilitar los warnings en el servidor a ver si te vá. Primero de nada debes descargar el TCPDF y copiarlo a un directorio llamado "tcpdf" dentro de extendions/ireport.

3º- Que tipo de informes deseas crear? Informes tipo hoja de cálculo para poder interactuar con ellos o simplemente para presentar información de forma bonita? Yo para lo primero exporto en csv (más rápido y cualquier aplicación de hojas de cálculo te lo abre) y para lo segundo, creo una página con el diseño y directamente la imprimo en pdf.

Un saludo.
-----------------------------------------------------------------------------------------------
------------------------------- VISITEN FOCUCHASART --------------------------------
-----------------------------------------------------------------------------------------------
0

#4 User is offline   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 204
  • Joined: 02-October 13
  • Location:Cuba

Posted 28 September 2017 - 07:36 AM

View Postlagogz, on 28 September 2017 - 05:31 AM, said:

Buenas, Rafael.

1º- La consulta te saca ese error pq existe un error de sintaxis SQL. Yo no lo veo (tampoco he revisado minuciosamente la consulta), pero tiene que estar. Has ejecutado la consulta en un cliente SQL?

2º- He intentado probar la extensión iReport y parece que no está acabada o no está bien diseñada. Prueba a deshabilitar los warnings en el servidor a ver si te vá. Primero de nada debes descargar el TCPDF y copiarlo a un directorio llamado "tcpdf" dentro de extendions/ireport.

3º- Que tipo de informes deseas crear? Informes tipo hoja de cálculo para poder interactuar con ellos o simplemente para presentar información de forma bonita? Yo para lo primero exporto en csv (más rápido y cualquier aplicación de hojas de cálculo te lo abre) y para lo segundo, creo una página con el diseño y directamente la imprimo en pdf.

Un saludo.

Hola lagogz gracias por responder, en realidad puse lo que me dijiste, copie tcpdf dentro de las extensiones ireport y dentro de jasphp, ya que estoy intentando utilizar ambas extensiones por separado, o sea, o una o la otra.
como dijiste ejecute la consulta aparte sola y no me da error, para ello utilice dos programas SqlYong y Toad for Mysql y en ambos corre bien.
Al intentar utlizar la extension jasphp, que es la funcion que pongo en este post, ahora al utlizar esta extension me genera un error con un fichero que esta dentro de esta extension en la carpeta utils, el error es:
Posted Image
Cuando intento utlizar la extension ireport con otra funcion que alterno a la hora de llamarla, me deja la pagina en blanco, esta es la accion del controlador para esa extension:
public function actionReportes() {
	$model=new TblResultados;
            	if(!empty($_POST['TblResultados']['Id_Nomina']))
            	{
            	// echo $_POST['TblResultados']['Id_Nomina'];
            	Yii::import('application.ext.extensions.ireport.*');
            	$repo=dirname(__FILE__).'/Reportes/Nomina_por_Resultados.jrxml';
            	error_reporting(0);
            	$AReport = new IReport($repo);              	
            	$AReport->parameters = array("idnom"=>1);
            	$AReport->execute();
            	} 		
 	}

esta es la imagen que queda con esta extension
Posted Image
En este caso 17812-0173 es el parametro que tengo hecho en el reporte y lo llama con la extension.
En realidad lo que intento hacer son reportes agrupamiento y subtotales y totales finales, y hacer reportes como el de una factura, por eso es que quiero utlizar reportes hechos previamente con iReport.
Te agradeceria cualquier ayuda
Mira te pongo esta imagen que es el reporte que estoy intentando hacer ahora, esta en edición con iReport, para que observes los agrupamientos qure decia:
Posted Image
0

#5 User is offline   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 204
  • Joined: 02-October 13
  • Location:Cuba

Posted 28 September 2017 - 02:56 PM

View Postrafaelrosales, on 28 September 2017 - 07:36 AM, said:

Hola lagogz gracias por responder, en realidad puse lo que me dijiste, copie tcpdf dentro de las extensiones ireport y dentro de jasphp, ya que estoy intentando utilizar ambas extensiones por separado, o sea, o una o la otra.
como dijiste ejecute la consulta aparte sola y no me da error, para ello utilice dos programas SqlYong y Toad for Mysql y en ambos corre bien.
Al intentar utlizar la extension jasphp, que es la funcion que pongo en este post, ahora al utlizar esta extension me genera un error con un fichero que esta dentro de esta extension en la carpeta utils, el error es:
Posted Image
Cuando intento utlizar la extension ireport con otra funcion que alterno a la hora de llamarla, me deja la pagina en blanco, esta es la accion del controlador para esa extension:
public function actionReportes() {
	$model=new TblResultados;
            	if(!empty($_POST['TblResultados']['Id_Nomina']))
            	{
            	// echo $_POST['TblResultados']['Id_Nomina'];
            	Yii::import('application.ext.extensions.ireport.*');
            	$repo=dirname(__FILE__).'/Reportes/Nomina_por_Resultados.jrxml';
            	error_reporting(0);
            	$AReport = new IReport($repo);              	
            	$AReport->parameters = array("idnom"=>1);
            	$AReport->execute();
            	} 		
 	}

esta es la imagen que queda con esta extension
Posted Image
En este caso 17812-0173 es el parametro que tengo hecho en el reporte y lo llama con la extension.
En realidad lo que intento hacer son reportes agrupamiento y subtotales y totales finales, y hacer reportes como el de una factura, por eso es que quiero utlizar reportes hechos previamente con iReport.
Te agradeceria cualquier ayuda
Mira te pongo esta imagen que es el reporte que estoy intentando hacer ahora, esta en edición con iReport, para que observes los agrupamientos qure decia:
Posted Image


Hola de nuevo aclaro, cuando utlizo la extension jasPHP y pongo el parametro en la consulta del iReport, me genera el error DE 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 .....
cuando le quito el parametro de la consulta en el iReport del reporte, entonces me genera el error del fichero que esta dentro de esta extension en la carpeta utils, parece que yii se pierde a la hora de leer los parametros del iReport, por eso necesito saber como se maneja esta parte, si declaro el parametro en el iReport y se lo pongo a la consulta, segun esta imagen Posted Image
Por favor necesito saber como se maneja esto de los parametros en yii
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users