Odoo,Qweb,Report报表的外部方法引用的问题
admin
2023-08-02 05:40:08
0

class:

import time
from openerp.osv import osv
from openerp.report import report_sxw


class stock_picking_out(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context):
        super(stock_picking_out, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
            'get_partner_product': self._get_partner_product,
        })

    # todo 获取客户产品编码:
    def _get_partner_product(self, partner, product_id):
        sql = """SELECT cp.partner_default_code FROM customer_product cp
                LEFT JOIN res_partner rp ON rp.id = cp.partner_id
                WHERE cp.product_id = %s AND cp.partner_id = %s"""
        self.cr.execute(sql, (product_id, partner))
        sql_data = self.cr.fetchall()
        if len(sql_data) > 0:
            for obj in sql_data:
                partner_default_code = obj[0]
            return partner_default_code
        return ''


class report_stockpickingout(osv.AbstractModel):
    _name = 'report.report_stock.report_stockpickingout'
    _inherit = 'report.abstract_report'
    _template = 'report_stock.report_stockpickingout'
    _wrapped_report_class = stock_picking_out

Report_view:


<td class="text-left">
   <span t-esc="get_partner_product(doc.partner_id.id,l.product_id.id)"/>
td>

当我在打印的时候,报出的问题:

QWebException: "'NoneType' object is not callable" while evaluating
'get_partner_product(doc.partner_id.id,l.product_id.id)'

Answer:

在"_name"时,路径的错误,必须要添加上"report"的引用:

class report_stockpickingout(osv.AbstractModel):
    _name = 'report.report_stock.report_stockpickingout'


相关内容

热门资讯

AI时代,如何共筑数据库产业新... 7月10日电(记者 吴家驹)数据库作为支撑数字经济关键数据基座,在人工智能浪潮与产业变革深度交汇的当...
人形机器人整机产量有望破10万... 来源:中国经营报 中经记者 李玉洋 上海报道 2026年被定义为人形机器人量产元年。时间已过半,这一...
【深度】中国开启可回收火箭时代... 界面新闻实习记者 | 李响 界面新闻编辑 | 张慧 中国首次成功实施了运载火箭一子级可控回收。 ...
江苏涵育科创“雨林”   获得国家最高科学技术奖的耄耋院士扎根江苏书写创新传奇;“奋斗者号全海深载人潜水器”获得通用项目唯...
三星电子会长李在镕拟于本月底赴... IT之家 7 月 10 日消息,据韩媒《东亚日报》今天报道,三星电子会长李在镕预计将于本月底奔赴美国...
长征十号乙即将首飞 首创&qu... 我国首款轨道级可回收火箭一一长征十号乙的首飞窗口锁定在7月10日至13日,地点位于海南商业航天发射场...
晋江鞋厂火灾车间内部直击:堆积... 昨天(9日),福建泉州晋江陈埭镇江头村辉腾鞋业公司厂房发生火灾,记者今天从泉州市政府召开的新闻发布会...
万和热水器点火后熄灭故障 万和热水器点火后熄灭故障可能是由多种原因引起的。以下是一些可能的原因和解决方法:1. 电池电量不足:...
燃气热水器打着火后又熄灭 1、燃气热水器的电池坏了没有通电,导致不打火,或者打火后熄灭;2、热水器的电磁阀坏了导致打火后熄灭;...
燃气灶为什么点燃后自动熄灭 问题:燃气灶为什么点燃后自动熄灭回答:原因是灶具使用后,应保持灶面清洁,燃气灶的燃烧器上的火孔易被稀...