Odoo v8 我在" More"中创建了子菜单。在视图中列出。当我点击它时,我看到一个表单,用于在此模型中停止新记录。当我选择这个选项时,是否可以调用某种方法而不是那种方法?
答案 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()
我希望这对你有用。