confrm_sale

我有一个问题,每次按下“确认销售”按钮时,如何使“参考”字段自动递增。

在我的第一种情况下,每次使用以下代码创建新客户时,我都将该字段设置为自动递增:

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')

关于python - 按下“确认销售”按钮时,使“引用”字段自动递增,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39464458/

10-12 14:17