OpenERP V7 - 按钮操作

时间:2014-01-03 06:03:38

标签: python openerp

我正在使用OpenERP V7,需要一些基本的帮助。在POLine中添加了一个新图标

在购买模块中的向导下创建新的Xml,py文件。

add.xml 代码:

<openerp>
<data>
    <record id="add_slab_form" model="ir.ui.view">
        <field name="name">Add Slab</field>
        <field name="model">add.slab</field>
        <field name="arch" type="xml">
            <form string="Add Slab" version="7.0">                  
                <footer>
                    <button name="add_info" string="Add" type="object" class="oe_highlight"/>
                    or
                    <button string="Cancel" class="oe_link" special="cancel" />
                </footer>
            </form>             
        </field>
    </record>       
    <record id="add_slab_action" model="ir.actions.act_window">

    </record>               
</data>

表单视图已安装,我无法看到操作视图。

在purchase_view.xml文件中调用的按钮操作代码

<button name="%(add_slab_action)d" icon="gtk-add"  string="Add Slab" type="action"/>

add.py

 def add_slab_action(self, cr, uid, ids, context=None):
    return {
          'type': 'ir.actions.act_window',

}  

我收到错误消息: ValueError:系统中当前没有定义此类外部ID:purchase.add_slab_action

按钮操作未执行,我该如何解决?

2 个答案:

答案 0 :(得分:1)

请检查是否已在 openerp .py文件中添加了向导文件。

答案 1 :(得分:0)

您在按钮功能中编写的代码是什么?

为了您的信息,我在这里向您展示一个例子:

<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="terp-gtk-jump-to-ltr" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"/>

这里的按钮代码你可以在按钮名称中看到向导打开表单来获取数据的动作,所以你必须定义一些类似的东西来打开一个表单或者从按钮功能中你必须返回一些其他对象形成动作来打开以获取数据,如

return {
                'name': _('Distribution Model Saved'),
                'view_type': 'form',
                'view_mode': 'tree,form',
                'res_model': 'analytic.plan.create.model',
                'views': [(resource_id,'form')],
                'type': 'ir.actions.act_window',
                'target': 'new',
            }

希望这个帮助