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

在openerp中的产品表单上创建按钮,openerp,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>

我试图在产品表单上创建一个按钮。这是我的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>
=============

单击按钮时,我出现错误,操作按钮的临时范围上未定义属性 请帮忙,提前谢谢


-Usha

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

    <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

ir.actions.server
测试
真的
代码
操作=对象。操作按钮(上下文=上下文)
def操作按钮(自身、cr、uid、ID、上下文=无):
#你的代码
希望这能解决您的问题。

请尝试以下代码:

<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> 

我的文本框仍然为空,没有填写“Hello Usha”,我不明白您为什么要创建ir.actions.server。如果要更改字段的值,只需创建一个简单的按钮,并在按钮的.py方法中调用self.write()方法。在.xml文件中,按如下方式定义按钮:您不需要定义ir.actions.server EX:return self.write(cr、uid、ID、{'name':'Usha'},context=context)我想测试按钮,但实际上我需要将on_更改转换为按钮单击。我的产品表单上有几个下拉列表。我必须从下拉列表中选择产品名称。你能发送你的gmail/yahoo帐户吗?你在用openerp吗?@user1540295是的,我在用openerp。您可以在从按钮调用的方法中调用self.write()。文本框保持空白。实际上,我需要将on_更改转换为按钮单击。我的产品表单上有几个下拉列表。我必须从下拉列表中选择产品名称。你能发送你的gmail/yahoo帐户吗?您正在使用openerp吗?@BandishDavetext框仍为空。实际上,我需要将on_更改转换为按钮单击。我的产品表单上有几个下拉列表。我必须从下拉列表中选择产品名称。你能发送你的gmail/yahoo帐户吗?你在做openerp吗?是的,我在做openerpbandish09@gmail.com是我的电子邮件id。
    <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
<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> 
def action_button(self, cr, uid, context=None):
    test={}
    modelname="Hello usha"
    test['tryhello']=modelname
    return{'value':test}