在transientModel odoo中的active_id和动作

问题描述 投票:-1回答:1

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

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

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

enter image description here

odoo odoo-11 erp odoo-view
1个回答
1
投票

你必须创建新的动作,新的对象也创建新的对象

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>

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

© www.soinside.com 2019 - 2024. All rights reserved.