El 12/02/2014 10:17, "Raimon Esteve" <[email protected]> va escriure: > > 2014-02-11 12:15 GMT+01:00 Moises Escusa <[email protected]>: > >> Muy buenas: >> >> Tengo los módulos de jasper reports instalados y funcionando. >> >> Es problema es, al instalar el módulo 'sale_discount', me han dejado de funcionar los reports de ventas. >> >> El error es el siguiente: >> >> Traceback (most recent call last): >> File "/trytond/protocols/jsonrpc.py", line 123, in _marshaled_dispatch >> response['result'] = dispatch_method(method, params) >> File "/trytond/protocols/jsonrpc.py", line 156, in _dispatch >> res = dispatch(*args) >> File "/trytond/protocols/dispatcher.py", line 168, in dispatch >> result = rpc.result(meth(*args, **kwargs)) >> File "/trytond/report/report.py", line 127, in execute >> type, data = cls.parse(action_report, records, data, {}) >> File "/trytond/modules/company/company.py", line 319, in parse >> localcontext) >> File "/trytond/report/report.py", line 197, in parse >> content_z = zipfile.ZipFile(content_io, mode='r') >> File "/zipfile.py", line 766, in __init__ >> self._RealGetContents() >> File "/zipfile.py", line 807, in _RealGetContents >> raise BadZipfile, "File is not a zip file" >> BadZipfile: File is not a zip file > > > Te pilla el informe ODT en vez de Jrxml. Revisa la conf de informes.
Tiene pinta que estas redefiniendo un informe existente. Debes teer algo así: <record model="...report" id="account_invoice.XXX"> En tu redefinición no debes estar sobreescribiendo alguno de los campos ue en el original hay una rederencia a un ODT. En cualquier caso, redefinir un ID existente para los informes no funciona bien porque las traducciones las asociará al módulo original (para saber a que módulo pertenecen los strings a traducir de un informe el sistema bjsca el XML ID que en este caso seguirá siendo account_invoice.XXX => asociado al módulo invoice Para los informes hay que definir una entrada nueva e independiente de informe (en el listado de informes del apartado de Administración te saldrán los dos) y cambiar lo que llama al ibforme para que vaya a buscar el tuyo. Normalmente esto es la keyword (lo que añade el informe al icono de imprimir del modelo X). Aquí si que si quieres SUSTITUIR el informe debes redefinir el keyword con el xml id original. Para el caso de las facturas es diferente porque el informe (creo) no se llama directamente y hay que sobrecargar alguna función que es la que hace la llamada. Puedes mirar en los módulos *_discount para tener ejemplos. Salut! Guillem
