【问题标题】:how override creat method in sale order odoo 10 to add po RFQ如何在销售订单 odoo 10 中覆盖 creat 方法以添加 po RFQ
【发布时间】:2018-03-08 12:03:57
【问题描述】:

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

@api.multi

定义创建(自我): # 自我订购: # order.state = '销售' # 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

【问题讨论】:

  • 您的代码不清楚,您从哪里获得变量 product_id、name 等的值。

标签: odoo purchase-order


【解决方案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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多