当我按下 CONFIRM SALE 按钮时,制作一个 'ref' 字段自动递增
Make a 'ref' field to auto increment when I press CONFIRM SALE button
我遇到了一个问题,如何使 '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')
我遇到了一个问题,如何使 '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')