Создав представление на странице res.config, я реализовал поле many2one, в котором перечислены существующие группы в модуле Helpdesk. Я бы хотел задать команду службы поддержки по умолчанию при автоматическом создании заявки (по умолчанию это Служба поддержки клиентов). Таким образом, команда, которую пользователь выбирает в моем настраиваемом поле в представлении res.config, будет командой службы поддержки по умолчанию. Как лучше всего это реализовать?
Odoo: установить команду модуля по умолчанию на странице настроек
Ответы (1)
этого можно легко добиться, используя context
в действии:
<field name="context">{'default_team_id': active_id}</field>
или вы можете сделать это программно (не рекомендуется), используя функцию lambda
по умолчанию, как показано ниже:
team_id = fields.Many2one(comodel_name='helpdesk.team', default=_default_team_id)
def _default_team_id(self):
team_id = self.env.ref('my_module.best_team_ever').read()[0]
return team_id
# update using configuration would be:
def _default_team_id(self):
get_param = self.env['ir.config_parameter'].sudo().get_param
default_team = get_param('helpdesk.my_custom_default_team')
return default_team
person
kerbrose
schedule
28.02.2021
Разве это не предполагает, что я создаю действие. Что, если бы я хотел поместить это настраиваемое поле в общие настройки в res.config? Также почему бы вам не посоветовать решение на стороне сервера?
- person ITJ; 28.02.2021
конечно, вы можете получить идентификатор команды из res.config. Я не советую использовать жестко запрограммированный метод. потому что xml можно изменить во время производства, не блокируя пользователя.
- person kerbrose; 28.02.2021
Итак, после наследования общего вида настроек это будет
<field name="custom_field" context= "{'helpdesk.default_team_id': active_id}"/>
- person ITJ; 28.02.2021