Declaração de retorno do método OSV

No OpenERP, um objeto OSV pode retornar algo que pode abrir uma nova visão ou ativar uma ação. Por exemplo,sale.order temmanual_invoice método que retorna o seguinte:

    return {
        'name': _('Customer Invoices'),
        'view_type': 'form',
        'view_mode': 'form',
        'view_id': [res_id],
        'res_model': 'account.invoice',
        'context': "{'type':'out_invoice'}",
        'type': 'ir.actions.act_window',
        'nodestroy': True,
        'target': 'current',
        'res_id': inv_ids and inv_ids[0] or False,
    }

e abre uma exibição de formulário de fatura na mesma janela.

eu tenho visto'view_id': [res_id], sendo alterado para'views': [(id2, 'form')], e outras partes também modificadas, e ainda funciona.

Então, o que não entendo é como funciona esse mecanismo. O que determina quais valores em um retorno devem ser incluídos? Como posso saber quais são obrigatórios e quais não são?

Muito Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion