Когда и почему мы используем next_by_code()?

#odoo-13

#odoo-13

Вопрос:

Я хочу знать, когда и почему мы используем next_by_code()? Я видел это в модуле продаж. В продаже.py-файл, он записывается как:

  seq_date = fields.Datetime.context_timestamp(self, fields.Datetime.to_datetime(vals['date_order']))
            if 'company_id' in vals:
                vals['name'] = self.env['ir.sequence'].with_context(force_company=vals['company_id']).next_by_code(
                    'sale.order', sequence_date=seq_date) or _('New')
  

Можете ли вы, ребята, объяснить это для меня?
Спасибо

Ответ №1:

ir.sequence Содержит последовательности. Вы можете увидеть их в Odoo, когда перейдете в Настройки> Технические> Последовательности (может потребоваться режим отладки). Ваш код просто запрашивает новый код для SO.

Комментарии:

1. да, я знаю, что ir.sequence содержит последовательности, но мне нужно знать, когда и почему мы используем метод next_by_code()?

2. Каждый раз вам нужен новый код. Например, когда вы создаете новый SO

3. Когда? Создание новой записи, рабочий процесс обработки. Почему? Для предоставления уникального идентификатора записи

4. Этот код определяется потребностями бизнеса. Таким образом, правила могут быть изменены, если это необходимо..

5. Понятно. Большое спасибо