【问题标题】:Odoo 8 - Qweb output PDF for HR Evaluation ReportOdoo 8 - 用于 HR 评估报告的 Qweb 输出 PDF
【发布时间】:2015-12-18 15:01:00
【问题描述】:

单击打印调查按钮(人力资源 - 评估 - 面试请求)时,标准输出为 HTML(action_print_survey 方法)。我想将输出更改为 PDF。 我找不到关于 Odoo 配置或 Qweb 标准结构的报告,它们作为标准代表的方式(模板是,菜单否,python 包装器否)。 我试图纠正一个包装,但它不起作用。 有任何想法吗? 提前致谢 古斯塔沃

【问题讨论】:

  • 如果您需要为此创建新的 qweb 报告,我可以提供帮助。
  • 我想要做的就是添加一个新按钮(我已经知道该怎么做)以使用相同的 qweb 模板(如果可能)将调查打印为 PDF,而不是标准的 HTML 输出.应该可以通过简单的配置来做到这一点,而无需更改 Qweb 模板或重新开发整个报告。谢谢
  • 模板为“survey_templates.xml”

标签: pdf report openerp qweb


【解决方案1】:

举报

每个报告都必须由报告操作声明。

为简单起见,可以使用快捷方式<report> 元素来定义报告,而不必手动设置操作及其周围环境。那<report>可以带以下属性:

id

生成记录的外部id

姓名(必填)

仅在在某种列表中查找报告时用作报告的助记符/描述

型号(必填)

您的报告将涉及的模型

report_type(强制)

  • qweb-pdf 用于 PDF 报告或 qweb-html 用于 HTML

报告名称

报告的名称(将是 PDF 输出的名称)

群组

允许查看/使用当前报告的组的Many2many字段

附件使用

如果设置为 True,报告将使用附件表达式生成的名称作为记录的附件存储;如果您只需要生成一次报告(例如,出于法律原因),您可以使用它

附件

定义报告名称的python表达式;记录可以作为变量对象访问

示例:

<report
    id="account_invoices"
    model="account.invoice"
    string="Invoices"
    report_type="qweb-pdf"
    name="account.report_invoice"
    file="account.report_invoice"
    attachment_use="True"
    attachment="(object.state in ('open','paid')) and
        ('INV'+(object.number or '').replace('/','')+'.pdf')"
/>

参考链接:https://www.odoo.com/documentation/8.0/reference/reports.html

【讨论】:

  • 感谢您的帮助。我想要做的就是添加一个新按钮(我已经知道该怎么做)以使用相同的 qweb 模板(如果可能)将调查打印为 PDF,而不是标准的 HTML 输出。应该可以通过简单的配置来做到这一点,而无需更改 Qweb 模板或重新开发整个报告。模板是“survey_templates.xml”
  • 原始 html 输出报告没有 定义。它由控制器启动。我希望能够在不重新开发此功能的情况下以 pdf 格式输出。谢谢
【解决方案2】:

@古斯塔沃 这不是 html 报告,它是响应使用该按钮操作打印调查的请求而呈现的模板。这就是为什么您找不到报告的任何声明,但您可以通过更改模型survey.survey 的方法定义轻松地做到这一点,例如:

def action_print_survey(self, cr, uid, ids, context=None):
    context = dict(context or {}, active_ids=ids, active_model=self._name)
    return {
        'type': 'ir.actions.report.xml',
        'report_name': 'module.survey_print',
        'context': context,
    }

您还需要定义报告 module.survey_print 以使用原始模板。为此,您可以看到如何做到这一点: https://www.odoo.com/fr_FR/forum/help-1/question/how-to-define-a-custom-methods-functions-to-be-used-in-a-qweb-report-how-to-define-and-use-a-report-parser-92244

【讨论】:

  • @Alex,我已按照您的指示进行操作,但出现以下错误:QWebException: 'NoneType' object has no attribute '_fields' 我应该寻找什么找出错误? (我不知道怎么把我写的整个代码贴在这里)
  • 你可以把它放在一个要点上,然后把链接留在这里
  • 这意味着您的报告正在呈现。让我检查报告模板中的错误,我会发布它
  • 嗨@Axel,你有没有发现任何关于这个问题的信息?
  • 今天我正在实现这样的东西。一切都取决于你需要什么。没有答案值的调查格式很容易,但是如果您需要打印已经回答的调查的答案值,那比我第一次更难。我已经有了一个可行的解决方案,但矩阵类型的问题还不能正常工作。它为矩阵问题的每个答案值重复矩阵
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多