odoo qweb报表python后台新增属性

odoo qweb 打印pdf有三种方式:

1.常用的纯xml文件,如下(忽略menu)



    
    

2. 打印的部分内容需要自定义,但是希望使用原qweb中的docs,这时我们需要调用report_sxw的__init__方法来添加新属性,代码如下(忽略menu):

# -*- coding: utf-8 -*-
##############################################################################
#
#
##############################################################################

from odoo.report import report_sxw
from odoo import models,api


class sale_delivery_py(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context):
        super(sale_delivery_py, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'get_product_name':self.get_product_name,
        })
        self.context = context

    #获取产品的属性值
    @api.multi
    def get_product_name(self, para):
        prodt=self.objects.env['product.product'].search([('id','=',para)])
        name = prodt.name+'('
        for index,tt in enumerate(prodt.attribute_value_ids):
            if index

调用的xml文件如下:



    

xml调用:

3.有些场景需要数据重构,详情请见文章:odoo自定义报表
https://blog.csdn.net/chasenksky/article/details/79375612

你可能感兴趣的:(Odoo)