2016-08-25 2 views
0
def onchange_stage_id(self, cr, uid, ids, stage_id, context=None): 
    if stage.name == 'Proposal':  
     print stage.name 
     return {    
      'type': 'ir.actions.act_window',  
      'res_model': 'sale.order', 
      'view_type': 'form',  
      'view_mode': 'form',  
      'target': 'new',  
      } 

когда я делаю это OnChange я получил сообщение об ошибкеКак я могу вернуть act_window с контекстом в функции on_change odoo 8?

onchange_stage_values = self.onchange_stage_id(cr, uid, ids, vals.get('stage_id'), context=context)['value']

KeyError: «value'`

ответ

0

Это дает вам исключение KeyError как словарь не имеет никакого ключа по имени 'value'.

Единственные ключи, присутствующие в словаре, которые вы возвращаете, это «тип», «res_model», «view_type», «view_mode» и «target».

Если вы хотите получить доступ к всему словарю:

onchange_stage_values = self.onchange_stage_id(cr, uid, ids, vals.get('stage_id'), context=context)

Это поставит весь словарь в onchange_stage_values

Смежные вопросы