这是我在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)])
如何在名称字段中打印记录?
或帮我改进此代码
谢谢
答案 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)))