如何覆盖销售订单odoo 10中的creat方法以添加po RFQ
how override creat method in sale order odoo 10 to add po RFQ
我正在尝试重写销售订单中的创建方法,以使用销售订单中的当前数据制作采购订单,但我的代码不起作用
我试试这个:
@api.multi
def creat(self):
# 自己下单:
# order.state = 'sale'
# order.confirmation_date = fields.Datetime.now()
# 如果 self.env.context.get('send_email'):
# self.force_quotation_send()
# order.order_line._action_procurement_create()
# 如果 self.env['ir.values'].get_default('sale.config.settings', 'auto_done_setting'):
# self.action_done()
self.env['purchase.order'].create({'partner_id': partner_id.id,
'location_id':location_id.id,
'pricelist_id': pricelist_id.id,
'order_line': [(0, 0, {'product_id': product_id.id,
'name': name.id,
'date_planned': date_planned.id,
'price_unit': price_unit.id})]})
return True
您必须使用 api.model 创建方法,因为创建新记录时没有记录 ID。
这里是示例代码
@api.model
def create(self, vals):
res = super(ClassName, self).create(vals)
# Your code here
# vals will contain dictionary of all variables.
return res
此外,您无需更改代码即可从销售创建采购订单。
您只需为产品和产品供应商设置路线(在本例中为购买)。
我正在尝试重写销售订单中的创建方法,以使用销售订单中的当前数据制作采购订单,但我的代码不起作用 我试试这个:
@api.multi
def creat(self): # 自己下单: # order.state = 'sale' # order.confirmation_date = fields.Datetime.now() # 如果 self.env.context.get('send_email'): # self.force_quotation_send() # order.order_line._action_procurement_create() # 如果 self.env['ir.values'].get_default('sale.config.settings', 'auto_done_setting'): # self.action_done()
self.env['purchase.order'].create({'partner_id': partner_id.id,
'location_id':location_id.id,
'pricelist_id': pricelist_id.id,
'order_line': [(0, 0, {'product_id': product_id.id,
'name': name.id,
'date_planned': date_planned.id,
'price_unit': price_unit.id})]})
return True
您必须使用 api.model 创建方法,因为创建新记录时没有记录 ID。
这里是示例代码
@api.model
def create(self, vals):
res = super(ClassName, self).create(vals)
# Your code here
# vals will contain dictionary of all variables.
return res
此外,您无需更改代码即可从销售创建采购订单。 您只需为产品和产品供应商设置路线(在本例中为购买)。