Creando Query SQL para Generar un Reporte
Centered Popup
Para crear Reportes en Jasper Reports y retomando los Post Anteriores, tenemos 2 Opciones una de ellas es haciendo conexion directa a la Base de Datos y la Otra generando un archivo XML, en este post vamos a conocer como generar un reporte utilizando un Query.
01. Lo primero y mas importante es tener instalado el Modulo Jasper Reports en Nuesta Base OPENERP y tambien tener instalado el JDK de Oracle Ć³ en su defecto el OpenJDK.
02. Abrimos el iReport y Creamos una Nueva ConexiĆ³n:
03. Seleccionamos la Primera OpciĆ³n Database JDBC conection y le damos siguiente:
Name = Nombre de la Conexion en este caso tiene el nombre "Pedido de Venta".
JDBC Driver = Seleccionamos el Driver PostgreSQL(org.postgresql.Driver).
Server Address = La direccion del servidor en mi caso esta local asi que usamos localhost.
Database = Nombre de la Base de Datos.
JDBC URL= La URL para la Conexion con Postgres la genera automaticamente el boton Wizard.
Username = Nombre del usuario que arranca el Servidor de OpenERP.
Password = Password del usuario Postgres que arranca el Servidor de OpenERP.
04. Ahora damos Click al boton Test y si todo fue correcto nos debe mostrar el siguiente mensaje:
05. Ahora solo vamos a crear un nuevo Reporte al que nombrare Pedido-Jasper-SQL y estarĆ” Guardado en mis Documentos.
06. Una vez creado el reporte damos click al icono de Report Query.
07. Ahora Dentro del Report Query Seleccionamos la Opcion en Query Languaje SQL.
08. Ingresamos el Query en este caso el reporte lo creare para el modelo "sale.order" y mi Query es el siguiente:
" select so.name as ref_order, so.date_order, so.state, rp.name as cliente from sale_order as so join res_partner as rp on so.partner_id=rp.id "
Con esto obtengo los campos Nombre del Pedido, Fecha de Orden, Estado y Nombre del cliente, como se ve en la siguiente imagen:
Damos Click al Boton Ok.
09. Colocamos los campos en el reporte.
10. Ahora guardamos y Subimos el Reporte en OpenERP el menu Jasper Reports.
11. Creamos un Nuevo Registro y lo guardamos, subiendo el Reporte Anterior, nos quedaria como la siguiente Imagen.
Nombre = Nombre del Reporte.
Nombre del Servicio = Nombre con el que se Descarga el PDF.
Modelo = Es el modelo en donde queremos que este Disponible este Reporte.
Salida Jasper = Como queremos que se descargue este Reporte por defecto PDF.
Archivos = Los Archivos que utlizamos en Nuestro Reporte JRXML, Imagenes, ETC...
12. Ahora vamos a Cotizaciones o Pedidos y en la opcion Imprimir Observamos Nuestro Reporte.
13. Le Damos click y nos Descargara el Reporte en PDF y el reporte queda como la siguiente Imagen:
Report Error
ResponderBorrarFailed to invoke method execute in class com.nantic.jasperreports.JasperServer: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 455; cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'.
Que version de iReport estas utilizando debes utilizar la 3.7.6 por que con las versiones nuevas da error!
BorrarEste error me es arrojando despude de seguier todos tu pasos, tiene idea de cual es la soluciĆ³n Ć³ talvez me equivoque en algo?
ResponderBorrarBuenas, yo trabajo con ireport 5.5.1 y me daba el mismo error, al final edite el jrxml y elimine todos los uuid="..." y funciona perfecto con OpenERP 7....un poco liado pero funciona
BorrarTengo la version 5.5.0, gracias voy descargar la versiĆ³n que me comentas y pruebo.
ResponderBorrarSaludos...
Listo he cambido a la versiĆ³n recomendada y ahora me mustra el sisguientes error
ResponderBorrarReport Error
Failed to invoke method execute in class com.nantic.jasperreports.JasperServer: FATAL: password authentication failed for user "openerp"
Y no tengo idea que me esta fallando
Puede ser debido a que el usuario openerp para postgres no existe en su instalacion de odoo, otra podria ser que utilice un template que no es el 1.
BorrarHola amigo yo tengo el mismo error:
ResponderBorrarReport Error
Failed to invoke method execute in class com.nantic.jasperreports.JasperServer: FATAL: password authentication failed for user "openerp"
Ayuda xfa!!!!!!!
Buenas tardes, yo tengo el mismo problema con iReport y OpenERP 7.0. Habeis podido solucionar el tema de la password?
ResponderBorrarBuenas tardes, yo tengo el mismo problema con iReport y OpenERP 7.0. Habeis podido solucionar el tema de la password?
ResponderBorrarGracias
Buentas Tardes!
ResponderBorrarSi instalaron el openerp con un all in one en windows o ubuntu deben buscar el archivo de configuracion y ver cual es el password que tiene los parametros que deben localizar en el archivo conf son:
db_user = openerp70
db_password = openerp70
Buena, hice todos los pasos exactamente como tĆŗ pero en windows, pero al ejecutar el reporte me da este error
ResponderBorrarError reading file 'C:\Archivos de programa\OpenERP 7.0-20140620-231150\Server\server\openerp\addons': failed to load external entity "C:\Archivos de programa\OpenERP 7.0-20140620-231150\Server\server\openerp\addons"
(, IOError(u'Error reading file \'C:\\Archivos de programa\\OpenERP 7.0-20140620-231150\\Server\\server\\openerp\\addons\': failed to load external entity "C:\\Archivos de programa\\OpenERP 7.0-20140620-231150\\Server\\server\\openerp\\addons"',), )
¿falta algo o debo mover el jrxml a otra carpeta?
En windows no es muy recomendable utilizar Odoo ya que no tienes el control sobre tu instalaciĆ³n. El error podria ser causado por permisos del Sistema.
BorrarBuenos dĆas GermĆ”n,
ResponderBorrarTengo el siguiente problema, te comento.
QUERY SQL de sale.order, funciona perfecta pero cuando imprime todos los registros del tree, si selecciono un solo registro me imprime todos.
De que manera podemos pasar parƔmetro del ID desde OpenERP al la QUERY SQL para incluir clausula WHERE?
Muchas gracias por tu ayuda.
Juan Sallent
German, me olvidaba.
BorrarHe intentado seguir este post del foro antiguo de OpenERP sin Ć©xito....http://forum.openerp.com/forum/topic29446.html
Gracias
Lograste solucionarlo?
BorrarGerman buenos dias
ResponderBorrareste tuto aplica solo para la version 7 ? en la version 8 no encuentro el modulo para instalar iReport...
Te agradezco si tienes alguna solucion en la V8
Hola, IReport es el diseƱador de reportes no el modulo de odoo, este es el modulo jasper_reports.
BorrarBuenas.
ResponderBorrarAl tratar de emitir un reporte creado en Odoo 8.0 me emite el siguiente mensaje.
('RML is not available at specified location or not enough data to print!', (None, None, None))
A alguien le paso lo mismo?
Alguna soluciĆ³n?
Gracias.
Que tal amigo, verifica que el reporte se encuentre en el Sistema con la ruta correcta y lo segundo es que verifiques que el usuario que inicia Odoo, tenga permisos para escribir en la ruta de addons, debido a que Jasper Reports crear Archivos con la extensiĆ³n .jasper en la carpeta custom_reports.
BorrarBuenas noches,
ResponderBorrarAlguien me podrĆa ayudar con un problema al imprimir mis reports??? Al seleccionar varias facturas desde la vista tree me imprime un pdf con la cabecera de la primera factura pero con las lineas de todas. ¿ Como podrĆa hacer para que se me imprima una factura en cada hoja del pdf al igual que hace el estĆ”ndar de Open?
Que tal, por defecto es la forma en la que lo hace jasper_reports pero podrĆas modificar el core del reporteador.
BorrarSaludos
Buenos dias, excelente aporte, solamente una consulta, como paso parametros de odoo a un reporte. por ejemplo una factura
ResponderBorrarI receive a report error when i click on to the report.
ResponderBorrarFailed to invoke method execute in class com.nantic.jasperreports.JasperServer: FATAL: password authentication failed for user "MSB"
This is my config. file:
[options]
; This is the password that allows database operations:
; admin_passwd = admin
admin_passwd = admin
db_host = False
db_port = False
db_user = msb
db_password = odoo
addons_path = /home/msb/odoo8.0/addons
xmlrpc_port = 7077
Hola bala, el error puede ser debido a que el usuario con el que haces la conexiĆ³n a PostgreSQL que por lo que veo es MSB, no tiene permisos de acceso correctos en los perfiles de postgres template 1.
BorrarHi German,
ResponderBorrarI checked with the user name permissions and even checked with other user - may i the actual reason/permission privileges need to be provided - actually it works fine in normal scenario only with this Jasper report integration while report connecting to the postgres it raises error.