Select 生成发票名称的序列

Select Sequence to generate name for Invoice

在会计 -> 发票中

当创建新发票并确认时,系统将根据日记帐的序列生成下一个运行 序列。但是,我需要更改它,以便我有一个名为 sequence 的 Many2One 字段(已创建到模型中)来存储确认时为名称生成的序列。问题是我不知道在哪里继承和定制什么方法来实现这样的过程。

我尝试将其追踪到 account.move 模型中的 _compute_name 方法,但它进一步进入 _get_last_sequence 这更像是我认为我不应该使用的通用模型中的方法修补它。所以,我被困在这里了。

您可以在 account.move

上通过方法 _get_starting_sequence 更改发票顺序

我终于通过覆盖 account.move 模型中的 _compute_name 方法解决了这个问题。

@api.depends('posted_before', 'state', 'journal_id', 'date')
    def _compute_name(self):
        if self.state == 'draft':
            self.name = '/'
        elif self.state == 'posted':
            if self.sequence.code:
                self.name = self.env['ir.sequence'].next_by_code(self.sequence.code)
            else:
                super(AccountMoveInherit, self)._compute_name()

检查重新排序功能。他们通过代码离开了下一个序列。现在您生成第一张发票。 Select 它在列表视图和操作下您会发现重新排序。在这里您可以将其设置为类似 2022-00001 的内容,odoo 会识别该方案。所以从那时起,所有下一张发票都是 2022-00002 等等。