active_id和transientModel odoo中的操作

时间:2019-03-20 11:48:03

标签: odoo odoo-11 erp odoo-view

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

这是场景,我没有开始进行任何编码。

我是odoo的新手。希望您能帮我举例。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

this.paramSubscription = this.route.paramMap.subscribe(params => {
      const newValue = params.get('resource');
      this.superUserMenu = newValue;
    });
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"        
    />      

,您可以在此处添加所需的代码。