2017-02-08 3 views
0

Когда я пытаюсь напечатать счет-фактуру клиента получает ошибку:Невозможно создать отчет в формате PDF в 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 

Installed wkhtmltopdf: wkhtmltopdf 0.12.2.1 (с исправленной QT).

Как это можно решить?

ответ

1

Возможно, Odoo может загрузить пустой PDF из базы данных. В этом случае, попробуйте эти:

  1. Включить режим отладки/разработчик - перейти к yoursite.com/web?debug

  2. Перейдите в раздел Настройки> Технический> Отчеты> Отчеты

  3. Искать «Счета»

  4. Нажмите на запись отчета с именем Invoices и имя шаблона account.report_invoice

  5. Нажмите Edit

  6. Uncheck Reload from attachment

  7. Нажмите Сохранить

Теперь попытайтесь снова распечатать счет.

+0

Спасибо, Абу, это работает. Не могли бы вы объяснить, почему я должен снять флажок «Перезагрузиться из вложения», потому что в моем локальном экземпляре он работает отлично, не снимая отметки с того же самого. – KbiR

+0

«Перезагрузка из приложения» - это функция, которая ускоряет процесс печати в Odoo, поэтому вместо повторного создания документа каждый раз, когда его нужно печатать, Odoo просто сохраняет файл в виде вложения и загружает его, когда вы нажимаете ** Распечатать**. По какой-то причине, вероятно, есть пустой файл, прикрепленный к записи, поэтому, когда вы нажимаете ** Print **, он пытается загрузить пустой файл и, следовательно, ошибку. Когда вы снимите флажок «Перезагрузка с приложения», он заставляет Odoo воссоздать приложение каждый раз, когда вы нажимаете ** Печать **. –

+0

Теперь вы можете вернуться к настройкам и снова проверить перезагрузку с вложения, чтобы вы могли использовать эту удобную функциональность в Odoo. –