OCA reporting engine fork for dev and update.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.7 KiB

  1. ===============
  2. Base report csv
  3. ===============
  4. .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  5. !! This file is generated by oca-gen-addon-readme !!
  6. !! changes will be overwritten. !!
  7. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  8. .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
  9. :target: https://odoo-community.org/page/development-status
  10. :alt: Beta
  11. .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
  12. :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
  13. :alt: License: AGPL-3
  14. .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
  15. :target: https://github.com/OCA/reporting-engine/tree/12.0/report_csv
  16. :alt: OCA/reporting-engine
  17. .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
  18. :target: https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_csv
  19. :alt: Translate me on Weblate
  20. .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
  21. :target: https://runbot.odoo-community.org/runbot/143/12.0
  22. :alt: Try me on Runbot
  23. |badge1| |badge2| |badge3| |badge4| |badge5|
  24. This module provides a basic report class to generate csv report.
  25. **Table of contents**
  26. .. contents::
  27. :local:
  28. Usage
  29. =====
  30. An example of CSV report for partners on a module called `module_name`:
  31. A python class ::
  32. from odoo import models
  33. class PartnerCSV(models.AbstractModel):
  34. _name = 'report.report_csv.partner_csv'
  35. _inherit = 'report.report_csv.abstract'
  36. def generate_csv_report(self, writer, data, partners):
  37. writer.writeheader()
  38. for obj in partners:
  39. writer.writerow({
  40. 'name': obj.name,
  41. 'email': obj.email,
  42. })
  43. def csv_report_options(self):
  44. res = super().csv_report_options()
  45. res['fieldnames'].append('name')
  46. res['fieldnames'].append('email')
  47. res['delimiter'] = ';'
  48. res['quoting'] = csv.QUOTE_ALL
  49. return res
  50. A report XML record ::
  51. <report
  52. id="partner_csv"
  53. model="res.partner"
  54. string="Print to CSV"
  55. report_type="csv"
  56. name="module_name.report_name"
  57. file="res_partner"
  58. attachment_use="False"
  59. />
  60. Bug Tracker
  61. ===========
  62. Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_.
  63. In case of trouble, please check there if your issue has already been reported.
  64. If you spotted it first, help us smashing it by providing a detailed and welcomed
  65. `feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_csv%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  66. Do not contact contributors directly about support or help with technical issues.
  67. Credits
  68. =======
  69. Authors
  70. ~~~~~~~
  71. * Creu Blanca
  72. Contributors
  73. ~~~~~~~~~~~~
  74. * Enric Tobella <etobella@creublanca.es>
  75. * Jaime Arroyo <jaime.arroyo@creublanca.es>
  76. Maintainers
  77. ~~~~~~~~~~~
  78. This module is maintained by the OCA.
  79. .. image:: https://odoo-community.org/logo.png
  80. :alt: Odoo Community Association
  81. :target: https://odoo-community.org
  82. OCA, or the Odoo Community Association, is a nonprofit organization whose
  83. mission is to support the collaborative development of Odoo features and
  84. promote its widespread use.
  85. This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/12.0/report_csv>`_ project on GitHub.
  86. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.