0

我试图覆盖销售订单中的创建方法,以使用销售订单中的当前数据制作采购订单,但我的代码不起作用我试试这个:

@api.multi

def creat(self): # for order in self: # order.state = 'sale' # order.confirmation_date = fields.Datetime.now() # if self.env.context.get('send_email'): # self. force_quotation_send() # order.order_line._action_procurement_create() # if 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
4

1 回答 1

1

您必须使用 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

此外,您不必更改从销售中创建采购订单的代码。您只需为产品和产品的供应商设置路线(在这种情况下为购买)。

于 2018-03-08T17:59:36.710 回答