Как получить данные или контент в формате PDF в odoo 8

Я застрял в течение двух дней, чтобы решить проблему. Я хотел бы получить двоичные данные или содержимое файла PDF и сохранить его в переменной с передачей файла PDF пользователю или без него. Вот мои коды:

def generate_printout(self):

    data = self.read([self.id])[0]        
    datas = {
        'ids': [],
        'model': 'monthly.bill.wizard', # wizard model name
        'form': data,
        'context':self.env.context
    }

    # -------- HOW TO GET THE CONTENT OF PDF FILE -------- 

    return {
        'type': 'ir.actions.report.xml',
        'report_name': 'ig_bill.monthly_bill_printout_report_template',#module name.report template name
        'datas': datas,
    }   

    # -------- HOW TO GET THE CONTENT OF PDF FILE --------

и это класс парсера

class monthly_bill_report(osv.AbstractModel):
    _name = 'report.ig_bill.monthly_bill_printout_report_template'
    _inherit = 'report.abstract_report'
    _template = 'ig_bill.monthly_bill_printout_report_template'
    _wrapped_report_class = monthly_bill_printout_report_parser


class monthly_bill_printout_report_parser(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context): 
        super(monthly_bill_printout_report_parser, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,            
            'parameter_contact' : self._get_contact,
            etc...
        })

person Yuniar Kurniawan S    schedule 19.07.2017    source источник


Ответы (1)


Вы можете получить его, используя следующий метод.

report_name = 'external_id_of_your_report'
datas=self.env['report'].get_pdf(self, report_name)

Вы можете получить данные отчета, используя метод get_pdf, который доступен в модуле отчета.

В котором вам нужно передать имя отчета.

Это может помочь вам.

person Emipro Technologies Pvt. Ltd.    schedule 19.07.2017
comment
Спасибо Empiro Technologies Pvt. ООО - person Yuniar Kurniawan S; 21.07.2017