微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果在odoo中下载一次报告,如何将布尔值设置为true?

如何解决如果在odoo中下载一次报告,如何将布尔值设置为true?

如果用户单击打印菜单下的按钮下载报告,我需要将布尔值设置为 true。 在 mrp 中,我以转移形式创建了一个布尔字段。在单击传输时,它会遍历到拣配表单。如果用户以拣货形式下载报告,布尔字段设置为 true,即转移形式。

有人可以帮我吗?

在下面的代码中,当生成设置为true时,我需要自动更新字段generated_report。

代码

    class ReportGeneration(models.Model):
        _inherit='stock.picking'
        generated=fields.Boolean(string='Generated')
        def mark_boolean_true(self):
            self.generated = True
    
    class ReportGen(models.Model):
        _inherit='mrp.production'
        generated_report=fields.Boolean(string='Generated',store= True,compute = 'get')
        ref = fields.Char(string='Ref',readonly=True,related='name')
        @api.depends('ref')
        def get(self):
            if self.state != 'confirmed':
                for mo in self:
                    if mo.ref:
                        so=self.env['stock.picking'].search([('origin','=',mo.ref)])
# until this works fine
                        @api.onchange('so.generated')
                        def _onchange(self):
                            if so.generated:
                                mo.generated_report = so.generated 
           

解决方法

从 xml 视图调用 python 方法并将布尔值标记为 True。 您可以像下面提到的那样从 .xml 调用 python 方法。

<t t-set="temp" t-value="o.mark_boolean_true()"></t>

在 transfer object.py 中写入以下代码。

def mark_boolean_true(self):
    self.boolean_field = True

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。