class:

importtimefromopenerp.osvimportosvfromopenerp.reportimportreport_sxwclassstock_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="""SELECTcp.partner_default_codeFROMcustomer_productcpLEFTJOINres_partnerrpONrp.id=cp.partner_idWHEREcp.product_id=%sANDcp.partner_id=%s"""self.cr.execute(sql,(product_id,partner))sql_data=self.cr.fetchall()iflen(sql_data)>0:forobjinsql_data:partner_default_code=obj[0]returnpartner_default_codereturn''classreport_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'objectisnotcallable"whileevaluating'get_partner_product(doc.partner_id.id,l.product_id.id)'

Answer:

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

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