跳转到主要内容

创建CSV报告的基础模块

项目描述

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

本模块提供了一个基本的报告类,用于生成CSV报告。

目录

配置

如果导出的CSV报告应该使用UTF-8以外的系统进行编码,应相应地填写报告记录的以下字段(设置 > 技术 > 报告)。

  • 编码:设置一个编码系统(例如cp932)

  • 编码错误处理:根据需要选择“忽略”或“替换”。

    • “忽略”:如果发生编码错误,则从导出文件中删除有问题的字符。

    • “替换”:如果发生编码错误,则用“?”符号替换有问题的字符。

    • 留空字段:如果发生编码错误,则报告生成失败并显示错误消息。

用法

名为module_name的模块中合作伙伴的CSV报告示例

Python类

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

报告XML记录

<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"
/>

根据需要更新编码为适当的值(例如cp932)。

错误跟踪器

错误在GitHub Issues上跟踪。如果在那里遇到问题,请检查您的错误是否已报告。如果是您首先发现的,请通过提供详细和受欢迎的反馈来帮助我们解决问题。

不要直接联系贡献者寻求支持或技术问题的帮助。

致谢

作者

  • Creu Blanca

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛应用。

本模块是GitHub上OCA/reporting-engine项目的组成部分。

欢迎您贡献力量。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本未提供源代码分发文件。请参阅生成分发存档的教程。

构建分发

odoo_addon_report_csv-16.0.2.1.0-py3-none-any.whl (35.8 kB 查看散列值)

上传时间 Python 3

支持者