2017-02-08 1 views
0

Quand j'essaie d'imprimer la facture client d'obtenir une erreur:ne peut pas générer le rapport pdf dans Odoo 8

Traceback (most recent call last): 
    File "/home/ubuntu/liveAMS/openerp/addons/report/controllers/main.py", line 121, in report_download 
    response = self.report_routes(reportname, docids=docids, converter='pdf') 
    File "/home/ubuntu/liveAMS/openerp/http.py", line 403, in response_wrap 
    response = f(*args, **kw) 
    File "/home/ubuntu/liveAMS/openerp/addons/report/controllers/main.py", line 65, in report_routes 
    pdf = report_obj.get_pdf(cr, uid, docids, reportname, data=options_data, context=context) 
    File "/home/ubuntu/liveAMS/openerp/api.py", line 256, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/ubuntu/liveAMS/openerp/addons/report/models/report.py", line 198, in get_pdf 
    save_in_attachment = self._check_attachment_use(cr, uid, ids, report) 
    File "/home/ubuntu/liveAMS/openerp/api.py", line 256, in wrapper 
    return old_api(self, *args, **kwargs) 
File "/home/ubuntu/liveAMS/openerp/addons/report/models/report.py", line 345, in _check_attachment_use 
    pdf = base64.decodestring(pdf) 
File "/usr/lib/python2.7/base64.py", line 321, in decodestring 
    return binascii.a2b_base64(s) 
TypeError: must be string or buffer, not None 

wkhtmltopdf Installé: wkhtmltopdf 0.12.2.1 (avec qt patché).

Comment résoudre ce problème?

Répondre

1

Odoo essaie peut-être de charger un fichier PDF vide à partir de la base de données. Dans ce cas, essayez ces:

  1. Activer le mode débogage/développeur - aller à yoursite.com/web?debug

  2. Allez dans Paramètres> Technique> Rapports> Rapports

  3. Rechercher «factures

  4. Cliquez sur le dossier du rapport avec le nom et le modèle Invoices nom account.report_invoice

  5. Cliquez Modifier

  6. Décocher Reload from attachment

  7. Cliquez Enregistrer

Maintenant, essayez d'imprimer à nouveau la facture.

+0

Merci Abu, ça marche. Pouvez-vous expliquer pourquoi devrais-je décocher 'Reload from attachment', parce que dans mon exemple local son fonctionne bien sans décocher la même chose. – KbiR

+0

'Reload from attachment' est une fonction qui accélère le processus d'impression dans Odoo, de sorte qu'au lieu de recréer un document chaque fois qu'il doit être imprimé, Odoo enregistre simplement le fichier en pièce jointe et le charge lorsque vous cliquez sur ** Impression**. Il y a probablement un fichier vide attaché à l'enregistrement pour une raison quelconque, donc lorsque vous cliquez sur ** Print **, il essaie de charger le fichier vide et donc l'erreur. Lorsque vous décochez 'Reload from attachment', cela force Odoo à recréer la pièce jointe chaque fois que vous cliquez sur ** Print **. –

+0

Vous pouvez maintenant revenir aux paramètres et vérifier à nouveau 'Reload from attachment' afin que vous puissiez utiliser cette fonctionnalité pratique dans Odoo. –