RML 报告 openerp 7
RML report openerp 7
如何获取发票报告中 sale.order 中的字段。所以发票报告使用模型 account.invoice,如果我在 report.py 中添加一个函数,它只允许 self.cr、self.uid,因为我们没有使用 osv.memory。那么如何从sale.order获取cust_ref_value的值到invoice report.
我们可以从Source Document
追踪
在report.py
中我们需要创建一个函数并在其中传递origin。
def __init__(self, cr, uid, name, context):
super(your_report_calss_name, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
'get_cust_ref_val': self._get_cust_ref_val,
})
此方法将检查 origin 是 SO 还是 PO 或 OUT/###:SO### 或 IN/###:PO### 所以以下情况在这里
def _get_cust_ref_val(self, origin)
if 'SO' in origin:
if 'OUT/' in origin:
so_name = str(origin).split(':')[1]
sale_id = self.pool.get('sale.order').search(self.cr, self.uid, [('name', '=', so_name)]
if sale_id:
sale = self.pool.get('sale.order').browse(self.cr, self.uid, sale_id)
return sale.cust_ref_value
else:
sale_id = self.pool.get('sale.order').search(self.cr, self.uid, [('name', '=', origin)]
if sale_id:
sale = self.pool.get('sale.order').browse(self.cr, self.uid, sale_id)
return sale.cust_ref_value
else:
return ''
从 rml 端
[[ get_cust_ref_val(inv.origin) ]]
如何获取发票报告中 sale.order 中的字段。所以发票报告使用模型 account.invoice,如果我在 report.py 中添加一个函数,它只允许 self.cr、self.uid,因为我们没有使用 osv.memory。那么如何从sale.order获取cust_ref_value的值到invoice report.
我们可以从Source Document
在report.py
中我们需要创建一个函数并在其中传递origin。
def __init__(self, cr, uid, name, context):
super(your_report_calss_name, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
'get_cust_ref_val': self._get_cust_ref_val,
})
此方法将检查 origin 是 SO 还是 PO 或 OUT/###:SO### 或 IN/###:PO### 所以以下情况在这里
def _get_cust_ref_val(self, origin)
if 'SO' in origin:
if 'OUT/' in origin:
so_name = str(origin).split(':')[1]
sale_id = self.pool.get('sale.order').search(self.cr, self.uid, [('name', '=', so_name)]
if sale_id:
sale = self.pool.get('sale.order').browse(self.cr, self.uid, sale_id)
return sale.cust_ref_value
else:
sale_id = self.pool.get('sale.order').search(self.cr, self.uid, [('name', '=', origin)]
if sale_id:
sale = self.pool.get('sale.order').browse(self.cr, self.uid, sale_id)
return sale.cust_ref_value
else:
return ''
从 rml 端
[[ get_cust_ref_val(inv.origin) ]]