在openerp中的产品表单上创建一个按钮

时间:2012-09-11 22:25:33

标签: openerp

我正在尝试在产品表单上创建一个按钮。这是我的xml

<record id="action_button" model="ir.actions.server">
    <field name="type">ir.actions.server</field>
    <field name="condition">True</field>
    <field name="state">code</field>
    <field name="model_id" ref="product_normal_form_view"/>
    <field eval="5" name="sequence"/>
    <field name="code">action=self.action_button(cr,uid, context)</field>                                                                                                       
</record>

=================

按钮定义为

<group col="2" colspan="2">
    <button name="%(action_button)d" type="action"  string="Test Hello"/>
</group>
python文件中的

有一个方法action_button

 def action_button(cr,uid,context):
        test={}
        modelname="Hello Usha"
        test['tryhello']=modelname
        return{'value':test}

=============

按钮单击我得到错误,没有为action_button

的temp_range定义属性

PL。帮助,提前谢谢

-Usha

2 个答案:

答案 0 :(得分:1)

我已经尝试过你的代码,经过修改后工作正常,方法也正在执行。

    <record id="action_button" model="ir.actions.server">
        <field name="type">ir.actions.server</field>
        <field name="name">Testing</field>
        <field name="condition">True</field>
        <field name="state">code</field>
        <field name="model_id" ref="model_product_product"/>
        <field eval="5" name="sequence"/>
        <field name="code">action=obj.action_button(context=context)</field>                                                                                                       
    </record>


def action_button(self, cr, uid, ids, context=None):
    #your code

希望这能解决您的问题。

答案 1 :(得分:1)

尝试以下代码::

<record id="action_button" model="ir.actions.server">
    <field name="type">ir.actions.server</field>
    <field name="condition">True</field>
    <field name="state">code</field>
    <field name="model_id" ref="product_normal_form_view"/>
    <field eval="5" name="sequence"/>
    <field name="code">action=self.pool.get('product.product').action_button(cr, uid,  context
    </field> 

并在我们action_button方法定义的py文件中进行更改

def action_button(self, cr, uid, context=None):
    test={}
    modelname="Hello usha"
    test['tryhello']=modelname
    return{'value':test}