按下按钮,更改字段值并触发onchange事件

时间:2012-08-15 13:20:04

标签: openerp

非常简单的示例:我在发票对象上添加了Change to default partner按钮(type="object")。当我按下它时,会调用一个函数,该函数返回默认伙伴的ID(或其他值)。如何更改Partner字段,它会触发onchange该字段的事件(它会像我从UI中更改它一样做出反应)?

1 个答案:

答案 0 :(得分:0)

如果是一个按钮,那么在按钮对象中将伙伴ID写入我们从您所说的函数中获取的发票对象,如果您想要执行伙伴的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