跳至内容
菜单
此问题已终结
877 查看

I need some help. I am Odoo 17. I just wanto to create a pdf report for this specific records: orders_with_pending_vehicles


import base64

from odoo import api, fields, models

from odoo.addons.phone_validation.tools import phone_validation

from odoo.exceptions import ValidationError


class SaleOrderInherit(models.Model):

    _name = 'service.order.wsp'


    partner_id = fields.Many2one('res.partner')


    def send_offers(self):


        if not self:

            a = self.search([], limit = 1)

            if a:

                self = a

            else:

                self.create([])


        offers_available = self.env['sale.order'].search([

            ('service_order', '=', True),

            ('state', '=', 'sale'),

        ])


        orders_with_pending_vehicles = offers_available.filtered(

            lambda order: any(prog.number_vehicles > prog.send_vehicles for prog in order.programming))


        orders_with_pending_vehicles_ids = orders_with_pending_vehicles.mapped('id')


        if orders_with_pending_vehicles:


            drivers = self.env['res.partner'].search([('is_driver', '=', True)])


            report_action = self.env.ref('transport_whatsapp.action_wsp_offers_available_report').report_action(orders_with_pending_vehicles)


            report = self.env.ref('transport_whatsapp.action_wsp_offers_available_report')._render_qweb_pdf(orders_with_pending_vehicles_ids)


            b64_pdf = base64.b64encode(report[0])


            attachment = self.env['ir.attachment'].create({

                'name': 'Reporte_Ordenes_Pendientes.pdf',

                'type': 'binary',

                'datas': b64_pdf,

                'res_model': 'service.order.wps',

                'res_id': self.id,

                'mimetype': 'application/pdf'

            })




But it gives me this error:


ValueError: : "'dict' object has no attriute 'split'" while evaluating 'model.send_offers()'

形象
丢弃
相关帖文 回复 查看 活动
0
3月 18
3151
0
7月 17
7243
1
11月 16
2387
1
1月 16
3691
1
10月 15
17082