在odoo中的act_window xml中调用或添加函数

时间:2018-12-11 23:14:27

标签: python xml odoo erp odoo-11

我试图在树上的报告按钮上添加新标签。选择树状数据之一后,将显示该按钮。我做的。然后单击按钮,我建立了要执行的功能。问题是,我不知道如何在act_windows中调用该函数。

<act_window
id="action_report"
name="Print Report"
res_model="model.report"
key2="client_print_multi"
src_model="model.report"/>

该如何调用功能(def)。谢谢。

1 个答案:

答案 0 :(得分:2)

查看ìr.actions.server,看看它们是如何工作的。一个来自Odoo本身的好例子:

    <record id="hr_expense_submit_action_server" model="ir.actions.server">
        <field name="name">Expense: Submit To Manager</field>
        <field name="type">ir.actions.server</field>
        <field name="model_id" ref="model_hr_expense"/>
        <field name="binding_model_id" ref="model_hr_expense"/>
        <field name="state">code</field>
        <field name="code">
            if records:
                action = records.submit_expenses()
        </field>
    </record>

这是一项费用操作,用户可以一次向其经理提交多个费用。服务器操作的类型不止于code,但这也是您的选择。

您在窗口操作中有res_modelsrc_model(您的示例)。在服务器操作中,res_modelmodel_id,而src_modelbinding_model_id