Skip to Content
Menu
This question has been flagged
2 Replies
1473 Views

When I try to export reports in Odoo 17 Community Edition it exports the file but Odoo throws me this exception:

RPC_ERROR
Arbitrary Uncaught Python Exception
204

                               
The above server error caused the following client error:
RPC_ERROR: Arbitrary Uncaught Python Exception
    RPC_ERROR
        at makeErrorFromResponse (http://localhost:8069/web/assets/debug/web.assets_web.js:27989:19) (/web/static/src/core/network/rpc_service.js:37)
        at decoder.onload (http://localhost:8069/web/assets/debug/web.assets_web.js:27872:25) (/web/static/src/core/network/download.js:566)
Avatar
Discard
Author Best Answer

Thanks for your help, debugging in developer tools of chrome I noticed that IDM Integration module was getting the download information. Once disabled the error disapeared. If you can close this, I dont have enouhg XP to solve it in the platform. 

Avatar
Discard
Best Answer

The RPC_ERROR with an "Arbitrary Uncaught Python Exception" during report export in Odoo 17 Community Edition indicates that something went wrong in the backend logic when generating or serving the report. This is often caused by a misconfiguration or a bug in custom or core Odoo modules. Here’s how you can resolve it:

Step-by-Step Troubleshooting

1. Check Server Logs

  • Go to the Odoo server terminal and inspect the logs immediately after reproducing the issue.
  • Look for a Python traceback in the logs; it will provide specific information about what failed.

Example:

plaintextCopy codeTraceback (most recent call last):
  File "/path/to/odoo/odoo/addons/base/models/ir_actions_report.py", line ...

The logs will often point you to the specific file and line where the issue occurred.

2. Verify Report Templates

  • If the report you’re exporting is custom, ensure that the corresponding QWeb template is well-formed.
  • Go to Settings > Technical > Reports and verify the report's associated template.
  • Common errors include:
    • Missing or incorrectly defined t-field tags.
    • Syntax errors in QWeb templates (like unclosed tags).

Example of a proper t-field tag:

xmlCopy code<t t-foreach="docs" t-as="o">
    <span t-field="o.name"/>
</t>

3. Check the Report Action Configuration

  • Navigate to Settings > Technical > Actions > Reports.
  • Locate the report you are trying to export.
  • Verify that the Template and Model fields are correctly configured.

Example:

  • Template: report_saleorder_document
  • Model: sale.order

If these are misconfigured, Odoo may fail to generate the report correctly.

4. Inspect Module Dependencies

  • If you’re using custom modules, ensure that the dependencies for the report are loaded and correctly defined.
  • Check for missing imports or improperly overridden methods in the related report logic (e.g., render_html, render_qweb_pdf).

5. Enable Developer Mode for Debugging

  • Enable Developer Mode in Odoo (Settings > Activate Developer Mode).
  • Reproduce the issue and check for additional details in the browser console or the /web/assets/debug/ stack traces.

6. Recompile Assets

  • If you’ve recently updated or installed a module, recompile Odoo assets to ensure the frontend and backend are in sync:
    bashCopy code./odoo-bin -d your_database_name --dev=all
    
  • Clear the browser cache and reload the page to apply the latest assets.

7. Test on a Clean Environment

  • Sometimes, issues are environment-specific. Export the same report on a fresh Odoo instance or database with no customizations.
  • If it works, the issue lies in your customizations or data setup.

8. Patch or Debug the Code

  • If the issue stems from a core Odoo file (as indicated in logs), it might be a bug in Odoo 17. Check Odoo's official GitHub repository for similar issues and patches: Odoo GitHub Issues
  • Use breakpoints in the Python code to identify where the error is raised:
    pythonCopy codeimport pdb; pdb.set_trace()
    

9. Upgrade or Reinstall Modules

  • Upgrade the module responsible for the report:
    bashCopy code./odoo-bin -d your_database_name -u module_name
    
  • If that doesn’t work, uninstall and reinstall the module after backing up your data.

10. Inspect Report Format and Size

  • If you’re exporting a large or complex report (e.g., PDF), the issue could be related to timeouts or memory limits. Increase the timeout in your Odoo configuration:
    • Open your odoo.conf file.
    • Add or modify the following:
      iniCopy codelimit_time_cpu = 600
      limit_time_real = 1200
      limit_memory_soft = 268435456
      limit_memory_hard = 536870912
      
    • Restart the server.

Example of Fixing QWeb Errors in ir_actions_report

Here’s an example of debugging Python logic in a report:

pythonCopy codefrom odoo import models

class ReportSaleOrder(models.AbstractModel):
    _name = 'report.sale.order_report'

    def _get_report_values(self, docids, data=None):
        try:
            docs = self.env['sale.order'].browse(docids)
            return {'docs': docs}
        except Exception as e:
            _logger.error(f"Error generating report: {e}")
            raise

Conclusion

By carefully checking logs, templates, and configurations, you should be able to identify the root cause. If the issue persists, please share the exact log error message from the server for more specific guidance.

Avatar
Discard
Related Posts Replies Views Activity
1
Apr 25
1004
1
Mar 25
728
1
Dec 24
707
1
Dec 24
1010
1
Nov 24
1129