We want to avoid duplicated sheet names exceptions the same following the same philosophy that Odoo implements overriding the main library to avoid the 31 characters limit triming the strings before sending them to the library. In some cases, there's not much control over this as the reports send automated data and the potential exception is hidden underneath making it hard to debug the original issue. Even so, different names can become the same one as their strings are trimmed to those 31 character limit. This way, once we come across with a duplicated, we set that final 3 characters with a sequence that we evaluate on the fly. So for instance: - 'Sheet name' will be 'Sheet name~01' - The next 'Sheet name' will try to rename to 'Sheet name~01' as well and then that will give us 'Sheet name~02'. - And the next 'Sheet name' will try to rename to 'Sheet name~01' and then to 'Sheet name~02' and finally it will be able to 'Sheet name~03'. - An so on as many times as duplicated sheet names come to the workbook up to 100 for each sheet name. We set such limit as we don't want to truncate the strings too much and keeping in mind that this issue don't usually ocurrs. TT31938
OCA alternative reporting engines and reporting utilities for Odoo
This repository hosts alternative reporting engines to the ones included on Odoo core (RML, QWeb and Webkit).
The convention is to use a suffix to each module to indicate that it's for using with that report engine (for example, account_invoice_report_birt or sale_order_report_pentaho).
It can contain also another utilities directly involved with reports (like merge/split utils, checkers, signing tools and so on).
Available addons
| addon | version | maintainers | summary |
|---|---|---|---|
| base_comment_template | 13.0.3.0.1 | Add conditional mako template to any report on models that inherits comment.template. | |
| bi_sql_editor | 13.0.1.0.1 | BI Views builder, based on Materialized or Normal SQL Views | |
| kpi | 13.0.1.0.1 | Key Performance Indicator | |
| kpi_dashboard | 13.0.1.0.0 | ![]() |
Create Dashboards using kpis |
| report_batch | 13.0.1.0.1 | ![]() |
Ability to print multiple QWeb reports in a single batch. |
| report_context | 13.0.1.0.0 | Adding context to reports | |
| report_csv | 13.0.1.0.2 | Base module to create csv report | |
| report_layout_config | 13.0.1.0.1 | Add possibility to easily modify the global report layout | |
| report_py3o | 13.0.1.0.3 | Reporting engine based on Libreoffice (ODT -> ODT, ODT -> PDF, ODT -> DOC, ODT -> DOCX, ODS -> ODS, etc.) | |
| report_py3o_fusion_server | 13.0.1.0.0 | Let the fusion server handle format conversion. | |
| report_qr | 13.0.1.0.1 | Web QR Manager | |
| report_qweb_element_page_visibility | 13.0.1.0.1 | Report Qweb Element Page Visibility | |
| report_qweb_parameter | 13.0.1.0.2 | Add new parameters for qweb templates in order to reduce field length and check minimal length | |
| report_qweb_pdf_fixed_column | 13.0.1.0.0 | ![]() |
Fix auto-col to not change report font size caused by a boundary overflow |
| report_qweb_pdf_watermark | 13.0.1.0.2 | Add watermarks to your QWEB PDF reports | |
| report_qweb_signer | 13.0.2.0.0 | Sign Qweb PDFs usign a PKCS#12 certificate | |
| report_wkhtmltopdf_param | 13.0.1.0.0 | Add new parameters for a paper format to be used by wkhtmltopdf command as arguments. | |
| report_xlsx | 13.0.1.0.4 | Base module to create xlsx report | |
| report_xlsx_helper | 13.0.1.1.1 | Report xlsx helpers | |
| report_xml | 13.0.1.0.1 | Allow to generate XML reports |
Licenses
This repository is licensed under AGPL-3.0.
However, each module can have a totally different license, as long as they adhere to OCA
policy. Consult each module's __manifest__.py file, which contains a license key
that explains its license.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.


