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

Responder a