当我按下 CONFIRM SALE 按钮时,制作一个 'ref' 字段自动递增

Make a 'ref' field to auto increment when I press CONFIRM SALE button

confrm_sale

我遇到了一个问题,如何使 'ref' 字段在每次按下 确认销售按钮 时自动递增。

在我的第一个案例中,每次我使用以下代码创建新客户时,我都将此字段设置为自动递增:

Python代码:

@api.model
def create(self, vals):
    vals['ref'] = self.env['ir.sequence'].get('res.debt')
    return super(Partner, self).create(vals)

XML代码:

<record id="your_sequence_id" model="ir.sequence">
          <field name="name">Reference</field>
          <field name="padding">3</field>
          <field name="code">res.debt</field>
      </record>

现在我的问题是我希望这个字段也自动递增,但不是在我创建客户时,只有在我按下 确认销售 按钮时。

例如,我创建了一个新的销售订单,并为该订单创建了一个新客户,然后单击保存。当我现在按下 确认销售 时,该操作需要触发内部参考字段 (ref) 的自动递增。

如果我为现有客户下订单,那么它应该为该客户采用旧序列。

我有 action_confirm() 的代码:

@api.multi
def action_confirm(self):
    for order in self:
        order.state = 'sale'
        if self.env.context.get('send_email'):
            self.force_quotation_send()
        order.order_line._action_procurement_create()
        if not order.project_id:
            for line in order.order_line:
                if line.product_id.invoice_policy == 'cost':
                    order._create_analytic_account()
                    break
    if self.env['ir.values'].get_default('sale.config.settings', 'auto_done_setting'):
        self.action_done()
    return True

可能是我的第一个自动递增代码,我应该在第二个代码中添加,但我不知道该怎么做。

有人能帮忙吗?提前谢谢你。

如果我的要求正确,我想你应该在你的订单循环中做一些事情:

order.partner_id.ref = self.env['ir.sequence'].get('res.debt')