Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
12
report_csv/readme/CONFIGURE.md
Normal file
12
report_csv/readme/CONFIGURE.md
Normal file
@@ -0,0 +1,12 @@
|
||||
In case the exported CSV report should be encoded in another system than
|
||||
UTF-8, following fields of the report record (*Settings \> Technical \>
|
||||
Reports*) should be populated accordingly.
|
||||
|
||||
- Encoding: set an encoding system (such as cp932)
|
||||
- Encode Error Handling: select 'Ignore' or 'Replace' as necessary.
|
||||
- 'Ignore': in case of an encoding error, the problematic character
|
||||
will be removed from the exported file.
|
||||
- 'Replace': in case of an encoding error, the problematic character
|
||||
will be replaced with '?' symbol.
|
||||
- Leaving the field blank: in case of an encoding error, the report
|
||||
generation fails with an error message.
|
||||
5
report_csv/readme/CONTRIBUTORS.md
Normal file
5
report_csv/readme/CONTRIBUTORS.md
Normal file
@@ -0,0 +1,5 @@
|
||||
- Enric Tobella \<<etobella@creublanca.es>\>
|
||||
- Jaime Arroyo \<<jaime.arroyo@creublanca.es>\>
|
||||
- Rattapong Chokmasermkul \<<rattapongc@ecosoft.co.th>\>
|
||||
- [Quartile](https://www.quartile.co):
|
||||
- Aung Ko Ko Lin
|
||||
1
report_csv/readme/DESCRIPTION.md
Normal file
1
report_csv/readme/DESCRIPTION.md
Normal file
@@ -0,0 +1 @@
|
||||
This module provides a basic report class to generate csv report.
|
||||
40
report_csv/readme/USAGE.md
Normal file
40
report_csv/readme/USAGE.md
Normal file
@@ -0,0 +1,40 @@
|
||||
An example of CSV report for partners on a module called
|
||||
\`module_name\`:
|
||||
|
||||
A python class :
|
||||
|
||||
from odoo import models
|
||||
|
||||
class PartnerCSV(models.AbstractModel):
|
||||
_name = 'report.report_csv.partner_csv'
|
||||
_inherit = 'report.report_csv.abstract'
|
||||
|
||||
def generate_csv_report(self, writer, data, partners):
|
||||
writer.writeheader()
|
||||
for obj in partners:
|
||||
writer.writerow({
|
||||
'name': obj.name,
|
||||
'email': obj.email,
|
||||
})
|
||||
|
||||
def csv_report_options(self):
|
||||
res = super().csv_report_options()
|
||||
res['fieldnames'].append('name')
|
||||
res['fieldnames'].append('email')
|
||||
res['delimiter'] = ';'
|
||||
res['quoting'] = csv.QUOTE_ALL
|
||||
return res
|
||||
|
||||
A report XML record :
|
||||
|
||||
<report
|
||||
id="partner_csv"
|
||||
model="res.partner"
|
||||
string="Print to CSV"
|
||||
report_type="csv"
|
||||
name="module_name.report_name"
|
||||
file="res_partner"
|
||||
attachment_use="False"
|
||||
/>
|
||||
|
||||
Update encoding with an appropriate value (e.g. cp932) as necessary.
|
||||
Reference in New Issue
Block a user