active_id 和 transientModel odoo 中的操作

active_id and actions in transientModel odoo

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

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

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

您还必须创建新动作和新对象 创建新对象

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>

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