如何覆盖销售订单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

此外,您无需更改代码即可从销售创建采购订单。 您只需为产品和产品供应商设置路线(在本例中为购买)。