如何在"更多"中设置自己选项中的动作(调用方法)选项清单?

时间:2017-07-20 21:28:19

标签: python xml odoo-8

Odoo v8 我在" More"中创建了子菜单。在视图中列出。当我点击它时,我看到一个表单,用于在此模型中停止新记录。当我选择这个选项时,是否可以调用某种方法而不是那种方法?

1 个答案:

答案 0 :(得分:2)

您可以使用服务器操作来实现它。

例如,如果您想通过销售订单中的更多选项调用方法

首先,您必须创建服务器操作。

服务器操作

<record id="action_server_test_1" model="ir.actions.server">
            <field name="name">Test Action</field>
            <field name="condition">True</field>
            <field name="type">ir.actions.server</field>
            <field name="model_id" ref="model_sale_order"/>
            <field name="state">code</field>
            <field name="code">
self.method_in_sale_order(cr,uid,context.get('active_id'))
        </field>
</record>

然后您需要一个菜单​​来从更多选项中调用此服务器操作。

您可以使用此类ir.values创建它。

ir.values Record

<record model="ir.values" id="ir_values_sale_order">
      <field name="key2" eval="'client_action_multi'"/>
      <field name="model" eval="'sale.order'"/>
      <field name="name">Call Method</field>
      <field name="value" eval="'ir.actions.server,%d'%action_server_test_1"/>
</record>

现在你有了菜单,点击它就可以调用sale.order模型中的任何方法,比如我所谓的method_in_sale_order()

我希望这对你有用。