在openerp中浏览另一个模型,具体取决于活动ID
我正在创建送货单报告,我必须检查直接或间接的销售类型,因此订单类型在sale.order模型中,因此我需要借助销售编号浏览订单类型在openerp中浏览另一个模型,具体取决于活动ID,openerp,openerp-7,odoo,rml,openerp-8,Openerp,Openerp 7,Odoo,Rml,Openerp 8,我正在创建送货单报告,我必须检查直接或间接的销售类型,因此订单类型在sale.order模型中,因此我需要借助销售编号浏览订单类型 from openerp.report import report_sxw class ps_report(report_sxw.rml_parse): name_type = '' name_type1 = '' v_name = '' v_model = '' v_year = '' picking = '' def __init__(self, cr, u
from openerp.report import report_sxw
class ps_report(report_sxw.rml_parse):
name_type = ''
name_type1 = ''
v_name = ''
v_model = ''
v_year = ''
picking = ''
def __init__(self, cr, uid, name, context=None):
super(ps_report, self).__init__(cr, uid, name, context=context)
do_type = self.pool.get('stock.picking.out').browse(cr, uid, context.get('active_id'))
do_type1 = self.pool.get('stock.picking.out').browse(cr, uid, context.get('active_ids'))
print do_type1
global name_type1
for list_id in do_type1:
so_type1 = self.pool.get('sale.order').search(cr,uid,[('name','=',list_id.origin)])
so1_type1 = self.pool.get('sale.order').browse(cr,uid,so_type1[0])
name_type1 = so1_type1.order_type
so_type = self.pool.get('sale.order').search(cr, uid, [('name','=',do_type.origin)])
so1_type = self.pool.get('sale.order').browse(cr, uid, so_type[0])
global picking
picking = do_type
global name_type
name_type = so1_type.order_type
global v_name
global v_model
global v_year
for line in so1_type.order_line:
v_name = line.vehicle_make
v_model = line.vehicle_model
v_year = line.vehicle_make_year
self.localcontext.update({
'time': time,
'sale_name':self._sale_name,
'vech_name':self._vech_name,
'vech_model':self._vech_model,
'vech_year':self._vech_year,
'sum_qty':self._sum_qty,
})
def _sale_name(self):
if name_type1 == 'indirectsale':
return 'INDIRECT SALE'
elif name_type1 == 'directsale':
return 'DIRECT SALE'
return name_type1
def _vech_name(self):
return v_name
def _vech_model(self):
return v_model
def _vech_year(self):
return v_year
def _sum_qty(self):
total = 0
for line in picking.move_lines:
total+=line.product_qty
str(total)
print total
return total
问题是,当我选择打印多条记录时,所有pdf中只打印最后一条记录,因此如何将记录列表传递给RML报告搜索方法将返回ID列表。从该列表中,您只能通过so_类型[0]获得一条记录。这就是为什么您只获得一条销售订单记录的原因。如何在列表中传递它,对于销售订单ID,请键入:order=self.pool.get'sale.order'。searchself.cr,self.uid,['name','=',order\u id.origin]type=self.pool.get'sale.order'.browseself.cr,self.uid,order[0]name\u type=type.order\u type print\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu+name\u type vig.appendname\u type print vig,那么如何在sale\u name中传递vig列表