2017-01-09 7 views
4

В коде ниже работает для просмотра формыКак вернуть форму редактирования в оду?

search_ids = self.env['sale.order'].search([]) 
last_id = search_ids and max(search_ids)   
return { 
    'name': _('Revise Quote'), 
    'view_type': 'form', 
    'view_mode': 'form', 
    'res_model': 'sale.order', 
    'res_id': last_id.id, 
    'type': 'ir.actions.act_window', 
} 

Как переориентировать редактировать вид?

enter image description here

ответ

3

В модуле календаря я вижу, что они возвращают дополнительный ключ 'flags'.

Редактировать: У меня была возможность проверить его, так как я получил аналогичную задачу, и я могу подтвердить, что ниже flags сделать трюк.

календарь/calendar.py

def open_after_detach_event(self, cr, uid, ids, context=None): 
    ... 
    return { 
     'type': 'ir.actions.act_window', 
     'res_model': 'calendar.event', 
     'view_mode': 'form', 
     'res_id': new_id, 
     'target': 'current', 
     'flags': {'form': {'action_buttons': True, 'options': {'mode': 'edit'}}} 
    } 
0

Я не думаю, что вы можете открыть вид редактирования непосредственно.

Редактирование работает в Odoo вот так, когда вы начинаете редактирование, вы не редактируете фактическую запись, что-то вроде виртуального (скопированный пример реального), и после нажатия save вы обновляете записи в db.

Таким образом, вы не можете просто открыть вид редактирования виртуальной записи, используя действие, которое невозможно с помощью стандартных методов.

+0

Хотя дублируя запись его скопировали, а также идет редактировать вариант. Как этот процесс ничего ??? – Mani

+0

Непонятная операция для разработчиков, odoo хранит много секретов о том, как это работает, но в любом случае вы можете читать исходный код и читать всю информацию о функциональности редактирования. Удачи. Но учтите, что, используя стандартные операции, вы не можете достичь этого, и нестандартные способы не рекомендуются с помощью odoo. Поэтому во время разработки вы должны попытаться использовать стандартные подходы –

0

Попробуйте это в /web/static/src/js/view_form.js (линия №: 116) значения изменения значения initial_mode от view до edit. Это повлияет на все виды форм.

_.defaults(this.options, { 
     "not_interactible_on_create": false, 
     // "initial_mode": "view", 
     "initial_mode": "edit", 
     "disable_autofocus": false, 
     "footer_to_buttons": false, 
    }); 

Надеюсь, что это решит вашу проблему.