odoo打印一般是在动作里面进行的
所以此方法可用自定义按钮进行打印
<template id="report_sale_line_packing_template">
xxx
template>
<template id="report_sale_line_packing">
<t t-call="web.basic_layout">
<t t-foreach="docs" t-as="o">
<div class="page">
<t t-call="sale_reports.report_sale_line_packing_template"/>
div>
t>
t>
template>
<record id="action_report_sale_line_list" model="ir.actions.report">
<field name="name">销售明细field>
<field name="model">sale.order.linefield>
<field name="report_type">qweb-pdffield>
<field name="report_name">sale_reports.report_sale_line_packingfield>
<field name="report_file">sale_reports.report_sale_line_packingfield>
<field name="print_report_name">'销售明细%s' %(object.name or '')field>
<field name="binding_model_id" ref="model_sale_order_line"/>
<field name="binding_type">reportfield>
record>
def action_report_data(self):
url = '%s/report/pdf/sale_reports.report_sale_line_packing/%s' % (self.get_base_url(), self.id)
return {
'type': 'ir.actions.act_url',
'name': "销售明细报表",
'target': 'new',
'url': url,
'res_id': self.id,
}