如何在特定日期打印报告到odoo 10中的特定日期?

时间:2017-10-13 10:15:13

标签: openerp report odoo-9 odoo-10

这是我在python中的向导和打印操作的代码:

class Paymentwizard(models.TransientModel):
_name = 'payment.wizard'
_description = 'Make Payment'

date_from = fields.Date('From Date')
date_to = fields.Date('To Date')
employee_id = fields.Many2many('hr.employee', 'name')


@api.multi
def action_print(self):
date_from = self.date_from
date_to = self.date_to
name = self.employee_id 

name = self.env['loan.form'].search([('date','>=',date_from),
('date','<=',date_to),("employee_id","=",name.name)])

如何在名称字段中打印记录?

或帮我改进此代码

谢谢

2 个答案:

答案 0 :(得分:0)

打印报告。你必须这样做。

class Paymentwizard(models.TransientModel):
_name = 'payment.wizard'
_description = 'Make Payment'

date_from = fields.Date('From Date')
date_to = fields.Date('To Date')
employee_id = fields.Many2many('hr.employee', 'name')
pdf = fields.Binary(string='Pdf report')

@api.multi
def action_print(self):
    record_ids = self.env['loan.form'].search([('date', '>=', self.date_from),
          ('date', '<=', self.date_to),("employee_id", "=",self.employe_id.id)]).ids
    self.pdf = self.env['report'].get_pdf(res_ids, ['your_report_xml_id'])

在这个例子中。在第一次,我搜索所有的记录必须打印。在我用两个信息生成我的pdf之后,记录将打印并且报告的xml id。

方法get_pdf将返回base64 pdf。我在二进制字段中设置它因为要下载pdf,用户必须单击二进制字段链接。

答案 1 :(得分:-1)

self.env.cr.execute(""" select column from loan_form where date >= '%s' and date <= '%s' and employee_id in '%s'"""%(self.date_from,self.date_to,tuple(employee_id.ids)))