我遇到的问题是每次按确认销售按钮时如何使'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
可能是我的第一个自动增量代码,我应该在第二个代码中添加,但我不知道该怎么做。
有人可以帮忙吗?提前谢谢。
答案 0 :(得分:1)
如果我的要求是正确的,我猜你应该在订单的循环中做一些事情:
order.partner_id.ref = self.env['ir.sequence'].get('res.debt')