我可以从OpenERP的树视图触发窗口操作吗?

4 投票
2 回答
4151 浏览
提问于 2025-04-16 22:24

我想在OpenERP中做一个快捷方式,从生产订单直接跳到它的原材料的包装清单。

我可以让相关窗口链接在生产订单表单上显示出来,但我更希望能通过点击屏幕顶部的操作按钮,从生产订单的列表视图直接进入包装清单。这样的话,我就不用打开生产订单的表单了。听说可以通过在<wizard>标签中使用keyword="client_action_multi"属性,从列表视图访问一个向导。那有没有类似的方式可以用于窗口操作呢?

我想我可以写一个触发窗口操作的向导,但我希望能有更简单的方法。

2 个回答

1

你可以创建一个 ir.values 记录

<record model="ir.values" id="the_id">
        <field name="name">The label</field>
        <field name="model" eval="'src_model'"/>
        <field name="key" >action</field>
        <field name="key2">client_action_multi</field>
        <field name="value" eval="'ir.actions.act_window,%d'%action_id"/>
        <field name="object" eval="True"/>
    </record>

或者通过菜单:管理 / 低级对象 / 客户端操作连接

6

多亏了QGerome的帮助,我终于搞定了这个问题。我在hr模块里找到了一个可以参考的例子:

    <record id="action2" model="ir.actions.act_window">
        <field name="name">Employee Hierarchy</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">hr.employee</field>
        <field name="domain">[('id','in',active_ids)]</field>
        <field name="view_type">tree</field>
        <field name="view_id" ref="view_partner_tree2"/>
    </record>
    <ir_set>
        <field eval="'action'" name="key"/>
        <field eval="'client_action_multi'" name="key2"/>
        <field eval="['hr.employee']" name="models"/>
        <field name="name">Employees Hierarchy</field>
        <field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
        <field eval="True" name="isobject"/>
        <field eval="True" name="replace"/>
    </ir_set>

我不太确定<ir_set>标签和一个原始的ir.values记录之间到底有什么区别,但在convert.py里的数据导入代码似乎是在调用ir_set(),所以我就选择了这个。

你可以在launchpad上看到我完整的解决方案。

撰写回答