首页 > 解决方案 > 瞬态模型odoo中的active_id和动作

问题描述

我正在尝试从(hr.payslip)模型中获取一些值。在此之前,我需要在操作(下拉列表)中添加一个选项,您可以在其中删除或导出选定的工资单。因此,当我从 treeView(下图中的复选框)中选择工资单时,该新选项应该会显示一个向导,其中显示具有所选工资单的 One2many 表,以便我可以打印或执行其他操作。

这就是场景,我没有开始任何编码来做到这一点。

我是odoo的新手。我希望你能帮我举一些例子。

在此处输入图像描述

标签: odooodoo-11erpodoo-view

解决方案


你必须创建新动作和新对象也创建新对象

class NewObject(models.TransientModel):
    _name = 'new.object'
    _description = 'Description of new object'
    @api.multi
    def generate_report(self):
         payslip_ids = self._.get('active_ids',[])
         #payslip_ids this will be your selected payslip ids in list view.
<act_window 
        name="Your Action string" 
        res_model="new.object"
        src_model="hr.payslip" 
        view_mode="form" 
        view_type="form"
        target="new" 
        multi="True" 
        key2="client_action_multi"
        id="id_of_act_window"
        view_id="view of new object"        
    />      

然后为新对象创建视图

<record id="id of new view" model="ir.ui.view">
        <field name="name">Name of view</field>
        <field name="model">model of new view</field>
        <field name="arch" type="xml">
            <form string="">
                <button name="generate_report" string="Generate Report
                        type="object" class="oe_highlight" />
            </form>
        </field>
    </record>

在这里你可以添加你想要的代码。


推荐阅读