Odoo Help

Sudhir Arya (SA)
On 9/18/14, 1:59 PM

Yes, you can. From method of your button you can call your onchange method. Onchange will return dictionary, you have to fetch values from dictionary and pass that dictionary in write method.


def your_btn_method(self, cr, uid, ids, context=None):
    for rec in self.browse(cr, uid, ids, context=context):
        #Pass required fields value as a parameter in onchange
        res = self.your_onchange(cr, uid, [rec.id], rec.field1, rec.field2)
        if res.has_key('values'):
            self.write(cr, uid, [rec.id], res.get('values'), context=context)
    return True

Hope this will help you.

Andreas Stauder
On 9/18/14, 8:05 AM

Short: In the standard webclient not.

Before the action of the button is executed it makes a save (or create, when the record is new) and the form is reloaded anyway. This is done so, to have all data from the form on the server when executing the action of the button.

On 9/18/14, 10:45 AM

actually m new to openerp..but i think we can trigger a function by a button click...we juz have to implement a workflow and in activity we can mentions the method which has to be triggered...also we must map button name with the signal in workflow transition..plz correct me if m wrong

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 9/18/14, 7:31 AM
Seen: 2676 times
Last updated: 3/16/15, 8:10 AM