Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过电子邮件openerp自动发送报告_Openerp - Fatal编程技术网

通过电子邮件openerp自动发送报告

通过电子邮件openerp自动发送报告,openerp,Openerp,Odoo有报告部分,我想知道如何(如果可能的话)通过邮件发送报告(并为其创建自动操作) 假设我们必须crm.phonecall.report model,如何获取它的信息并在电子邮件模板中使用它?我尝试用这个模型制作一个电子邮件模板,然后添加与电话分析中相同的xml文本,但没有成功。因此,非常感谢您的帮助。以下代码将足以满足您提到的需求。它调用电子邮件模板,然后附加报告附件,最后发送电子邮件 email = email_obj.browse(cr, uid, template_id) attac

Odoo有报告部分,我想知道如何(如果可能的话)通过邮件发送报告(并为其创建自动操作)


假设我们必须
crm.phonecall.report model
,如何获取它的信息并在电子邮件模板中使用它?我尝试用这个模型制作一个电子邮件模板,然后添加与电话分析中相同的xml文本,但没有成功。因此,非常感谢您的帮助。

以下代码将足以满足您提到的需求。它调用电子邮件模板,然后附加报告附件,最后发送电子邮件

email = email_obj.browse(cr, uid, template_id)
attachment_obj = self.pool.get('ir.attachment')
ir_actions_report = self.pool.get('ir.actions.report.xml')

matching_reports = ir_actions_report.search(
    cr, uid, [('name', '=', 'Report_Name_here')])

if matching_reports:
    report = ir_actions_report.browse(cr, uid, matching_reports[0])
    report_service = 'report.' + report.report_name
    service = netsvc.LocalService(report_service)
    (result, format) = service.create(
        cr, uid, mrp_ids, {'model': self._name, 'start_date': start, 'end_date': end}, context=context)

    if not report.attachment:
        file_name = "Production Sale Report " + datetime.strftime(datetime.now().date(), "%Y-%m-%d") + ".pdf"
        attachment_id = attachment_obj.create(cr, uid,
                                              {
                                                  'name': file_name,
                                                  'datas': result,
                                                  'datas_fname': file_name,
                                                  'type': 'binary'
                                              }, context=context)

    email_obj.write(cr, uid, template_id, {'email_from': email.email_from,
                                           'email_to': email.email_to,
                                           'subject': email.subject,
                                           'body_html': email.body_html,
                                           'email_recipients': email.email_recipients,
                                           'attachment_ids': [(6, 0, [attachment_id])],
                                           })

    email_obj.send_mail(cr, uid, template_id, False, True, context=context)

希望这能解决你的问题。干杯

我更想知道如何编写QWeb报告本身。如报告->电话分析中所示。我想每天用domain=“[('date','=',time.strftime('%Y-%m-%d')),('state','=','done')]将这些报告发送到电子邮件。或者是否可以在邮件中使用?