odoo10 窗口动作与服务器动作混合使用

目前,odoo的窗口只能执行窗口的跳转功能,如果我们需要在跳转的同时执行某些操作,则需要同时使用服务器动作。

首先我们来了解以下用法:
ir.actions.server的code字段可以赋值为一小段python代码,当执行该服务器动作时也会同时执行该段python代码,而如果这段python代码最后返回了一个窗口动作,则执行完服务器动作后也会执行该窗口动作。

例子如下:

<record id="server_logistics_handover" model="ir.actions.server">
            <field name="name">混合动作</field>
            <field name="type">ir.actions.server</field>
            <field name="model_id" ref="model_logistics_handover"/>
            <field name="state">code</field>
            <field name="code">action=env['res.company'].browse(context.get('active_ids')).func_xxx()</field>
</record>

如上,该服务器动作会执行先res.company模型的func_xxx()函数,然后再执行func_xxx()返回的action(如窗口跳转)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容