我在sale.order.line模型上有一个按钮,可以在stock.picking模型上打开一个弹出窗口。弹出窗口打开完美,但当我想花一些字段默认弹出时,Odoo显示以下消息:
TypeError:res.partner(id,)不是JSON可序列化的
在下面的图片中显示了弹出窗口:
这是打开弹出窗口的功能:
@api.multi
def action_stock_picking(self):
self.ensure_one()
picking_form = self.env.ref('stock.view_picking_form', False)
return {
'name': _('Formulario de Inventario: Recepciones'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'stock.picking',
'views': [(picking_form.id, 'form')],
'view_id': picking_form.id,
'target': 'new',
'context': dict(
#partner_id stock.picking = partner_id sale.order.line
**default_partner_id=self.order_id.partner_id,**
default_origin=self.order_id.name,
default_picking_type_id = 1,
default_model='stock.picking',
default_res_id=self.id,
default_composition_mode='comment',
mark_invoice_as_sent=True,
),
}
当我想花费客户端弹出窗口时,Odoo会显示我之前提到的错误。
非常感谢大家。我希望你能得到一些帮助。
答案 0 :(得分:0)
您必须设置default_partner_id,例如 default_partner_id = self.order_id.partner_id.id,,而不是 default_partner_id = self.order_id.partner_id,,以便在选择时设置默认合作伙伴。请使用以下代码。
@api.multi
def action_stock_picking(self):
self.ensure_one()
picking_form = self.env.ref('stock.view_picking_form', False)
return {
'name': _('Formulario de Inventario: Recepciones'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'stock.picking',
'views': [(picking_form.id, 'form')],
'view_id': picking_form.id,
'target': 'new',
'context': dict(
#partner_id stock.picking = partner_id sale.order.line
default_partner_id=self.order_id.partner_id.id,
default_origin=self.order_id.name,
default_picking_type_id = 1,
default_model='stock.picking',
default_res_id=self.id,
default_composition_mode='comment',
mark_invoice_as_sent=True,
),
}