Очень простой пример: я добавил кнопку Change to default partner
(type="object"
) в объект счета. Когда я нажимаю ее, вызывается функция, которая возвращает идентификатор (или другие значения) партнера по умолчанию. Как я могу изменить поле Partner
, чтобы оно вызывало событие onchange
этого поля (оно реагировало бы так, как если бы я изменил его из пользовательского интерфейса)?
Изменить значение поля и вызвать событие onchange при нажатии кнопки
Ответы (1)
Если это кнопка, то в объекте кнопки напишите идентификатор партнера в объект счета-фактуры, который мы получаем из указанной вами функции, и если вы хотите выполнить функцию onchange партнера, затем вызовите функцию onchange внутри функции кнопки, которая вернет словарь и возьмет «значения» из этого словаря. Например:
def button_change_partner(self, cr, uid, ids, context=None):
##Your function to get partner id
partner_details = self.onchange_partner_id(cr, uid, [], partner_id,context)#please replace with your actual onchange functionality and its arguments
partner = partner_details['values']
partner.update('partner_id': partner_id)
self.write(cr, uid, ids, partner, context)
return True
person
OmaL
schedule
17.08.2012
Обратите внимание, что этот способ сохранит модификацию. Как только пользователь нажал на вашу кнопку, это сделано, даже если он не сохраняет.
- person Thibaut D.; 03.09.2012