Добавить статус ожидает утверждения Odoo 12

Я хочу добавить статус котировок, я вижу, что их три в начале: расценки, отправленный бюджет и уведомление для заказа на продажу. Мне нужно добавить состояние с надписью «ожидает утверждения», которое одобряет только пользователь управления. Я знаю, что я могу сделать с помощью наследования, но где находится модель и какой модуль я должен разместить в качестве зависимости.

Кто-нибудь может мне помочь?

ОБНОВЛЕНИЕ: я его уже нашел. И я уже нашел поле, в которое хочу добавить больше состояний. Однако, будучи новичком, я не могу понять весь этот код. Кто-нибудь может мне объяснить, пожалуйста?

state = fields.Selection([ ('draft', 'Quotation'), ('sent', 'Quotation Sent'), ('sale', 'Sales Order'), ('done', 'Locked'), ('cancel', 'Cancelled'), ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', track_sequence=3, $ date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [$ validity_date = fields.Date(string='Validity', readonly=True, copy=False, states={'draft': [('readonly', False$ help="Validity date of the quotation, after this date, the customer won't be able to validate the quotatio$ is_expired = fields.Boolean(compute='_compute_is_expired', string="Is expired")


person Anderson Pineda Salvatierra    schedule 20.03.2019    source источник


Ответы (1)


котировки - это заказы на продажу, которые еще не подтверждены. Вы можете проверить модель записи по нескольким подсказкам, например:

  1. из URL-адреса, как только вы перейдете в меню цитат, вы получите URL-адрес, подобный следующему /web?#view_type=list&model=sale.order&action=264&menu_id=166. Здесь параметр модели model=sale.order, поэтому вам нужно найти определение модели sale.order.
  2. Перейдите в требуемый вид, нажмите меню отладки -> Изменить действие, найдите объект поля, также в данном случае sale.order.

Как только вы определите модель, над которой вам нужно работать, вы можете найти определение модели, выполнив поиск _name.*sale.order или заменив sale.order любой моделью, которую вам нужно унаследовать.

В этом конкретном случае требуемый модуль определен в модуле sale. Итак, вы можете начать с наследования sale.order и установки sale в качестве зависимости ваших настраиваемых модулей. Также имейте в виду, что встроенные модули odoo иногда наследуются, поэтому может быть случай, когда вы хотите унаследовать функциональность модели, но fields или views, которые вы хотите наследовать, определены в дочернем модуле sale, например, некоторые из sale.order функциональность моделей определяется в sale_stock модуле посредством наследования. В этом случае вы должны установить sale_stock как зависимость.

person arryph    schedule 20.03.2019
comment
Спасибо, уже нашел. И я уже нашел поле, в которое хочу добавить больше состояний. Однако, будучи новичком, я не могу понять весь этот код. Кто-нибудь может мне объяснить, пожалуйста? - person Anderson Pineda Salvatierra; 20.03.2019
comment
Это было бы слишком много, чтобы объяснять на StackOverflow. Попробуйте получить официальную документацию, онлайн-руководства или купить книгу о разработке Odoo. . - person CZoellner; 21.03.2019