Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odpovědi
1506 Zobrazení

I generated an invoice on odoo 16. 


I then saw that the date was in M/D/Y. I changed the format in EN/US to D/M/Y and then wasn't able to print out new PDF's. 


I now get 

"/"

reportlab.graphics.utils.RenderPMError: Error in setFont('Times-Roman',10) missing the T1 files?
Originally : makeT1Font() argument 2 must be str, not None

Any idea?

Avatar
Zrušit
Nejlepší odpověď

Hi,

Can you see if this can be reproduced in odoo runbot ? If you are able to reproduce it there, please create a ticket here: https://github.com/odoo/odoo/issues with detailed steps to reproduce it.

Thanks

Avatar
Zrušit
Autor Nejlepší odpověď

I tried. Same result. 


This is the complete trace 

"Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/report.py", line 113, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 697, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/ir_actions_report.py", line 58, in _render_qweb_pdf
    return super()._render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 807, in _render_qweb_pdf
    collected_streams = self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 58, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account_edi/models/ir_actions_report.py", line 14, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/ir_actions_report.py", line 20, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 708, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 883, in _render_qweb_html
    data = self._get_rendering_context(report, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 898, in _get_rendering_context
    data.update(report_model._get_report_values(docids, data=data))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/report/account_invoice_report.py", line 164, in _get_report_values
    rslt = super()._get_report_values(docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/report/account_invoice_report.py", line 146, in _get_report_values
    new_code_url = invoice._generate_qr_code(silent_errors=data['report_type'] == 'html')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/account_move.py", line 3974, in _generate_qr_code
    rslt = self.partner_bank_id.build_qr_code_base64(self.amount_residual, unstruct_ref, self.payment_reference, self.currency_id, self.partner_id, qr_code_method, silent_errors=silent_errors)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/res_partner_bank.py", line 86, in build_qr_code_base64
    return self._get_qr_code_base64(**vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/res_partner_bank.py", line 129, in _get_qr_code_base64
    barcode = self.env['ir.actions.report'].barcode(**params)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 581, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/reportlab/graphics/shapes.py", line 807, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 696, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 691, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 677, in drawToPMCanvas
    draw(d, c, 0, 0, showBoundary=showBoundary)
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 66, in draw
    R.draw(renderScaledDrawing(drawing), canvas, x, y, showBoundary=showBoundary)
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderbase.py", line 185, in draw
    self.initState(x,y)  #this is the push()
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 113, in initState
    self.applyState()
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 107, in applyState
    self._canvas.setFont(s['fontName'], s['fontSize'])
  File "/usr/lib/python3/dist-packages/reportlab/graphics/renderPM.py", line 405, in setFont
    _setFont(self._gs,fontName,fontSize)
  File "/usr/lib/python3/dist-packages/reportlab/graphics/utils.py", line 42, in setFont
    _errorDump(fontName,fontSize)
  File "/usr/lib/python3/dist-packages/reportlab/graphics/utils.py", line 29, in _errorDump
    rl_exec(code,dict(RenderPMError=RenderPMError))
  File "", line 1, in 
reportlab.graphics.utils.RenderPMError: Error in setFont('Times-Roman',10) missing the T1 files?
Originally : makeT1Font() argument 2 must be str, not None

"

Avatar
Zrušit
Nejlepší odpověď

Hi 

This error may occur when  the fonts folder is not available in Reportlab

Try the following 

pip3 install reportlab --upgrade

/usr/lib/python3.8/dist-packages/reportlab/fonts/(put the files)


Regards

Avatar
Zrušit