【问题标题】:Unknown report type: xlsx: - Odoo 10未知报告类型:xlsx:- Odoo 10
【发布时间】:2018-11-07 10:54:13
【问题描述】:

我正在尝试创建xlsx 报告。我尝试了以下代码,但出现错误:

Traceback(最近一次调用最后一次): 文件“/home/shar/Projects/git/odoo/addons/web/controllers/main.py”,第 72 行,打包 返回 f(*args, **kwargs) 文件“/home/shar/Projects/git/odoo/addons/web/controllers/main.py”,第 1485 行,在索引中 request.session.db、request.session.uid、request.session.password、report_id]) 文件“/home/shar/Projects/git/odoo/odoo/http.py”,第 118 行,在 dispatch_rpc 中 结果 = 调度(方法,参数) 文件“/home/shar/Projects/git/odoo/odoo/service/report.py”,第 35 行,在调度中 res = fn(db, uid, *params) 文件“/home/shar/Projects/git/odoo/odoo/service/report.py”,第 142 行,在 exp_report_get 返回_check_report(report_id) _check_report 中的文件“/home/shar/Projects/git/odoo/odoo/service/report.py”,第 120 行 raise UserError('%s: %s' % (exc.message, exc.traceback)) UserError: (u"Unknown report type: xlsx: (, NotImplementedError(u'Unknown report type: xlsx',), )", '')

这是我的代码:

*.py

# -*- coding: utf-8 -*-
from odoo.addons.report_xlsx.report.report_xlsx import ReportXlsx

class PartnerXlsx(ReportXlsx):

    def generate_xlsx_report(self, workbook, data, partners):
        for obj in partners:
            report_name = obj.name
            # One sheet by partner
            sheet = workbook.add_worksheet(report_name[:31])
            bold = workbook.add_format({'bold': True})
            sheet.write(0, 0, obj.name, bold)


   PartnerXlsx('report.module_name.res.partner.xlsx',
        'res.partner')

*.xml

  <report
      id="partner_xlsx"
      model="res.partner"
      string="Print to XLSX"
      report_type="xlsx"
      name="res.partner.xlsx"
      file="res.partner.xlsx"
      attachment_use="False"
  />

【问题讨论】:

    标签: odoo xlsx odoo-10


    【解决方案1】:

    您的代码似乎正确,但请记住所有其他 odoo 规则仍然适用,不要忘记:

    1. 在 _openerp_.py 清单中添加“report_xlsx”作为依赖项
    2. 在 _openerp_.py 清单内的数据字典中添加您的 .xml 文件('data': ['report/file.xml'])
    3. 在您的报告文件夹中添加一个带有from . import &lt;report_file_name&gt; 的 __init__.py 文件(您的 .py 文件所在的位置,最好还有您的 xml 文件,如清单中所声明的那样)。

    4. 在您的插件 __init__.py 文件中添加 from . import report

    5. 在 odoo 应用中更新您的插件。

    应该在那之后工作。

    【讨论】:

      【解决方案2】:

      我们没有 xlsx 格式的 report_type

      我们只有 qweb-pdf,qweb-html,controller

      report_type 将接受其中任何一个 (qweb-pdf,qweb-html,controller)

      它没有 xlsx 这样的

      请参考 'ir.actions.report.xml' 类作进一步参考

      【讨论】:

      • 你能在 odoo 应用商店查看report_xlsx 模块吗?
      • 你给依赖了吗?
      • 是的,我已经添加了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 2019-11-11
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多