2017-10-13 15 views
1

Ceci est mon code pour l'assistant et l'action d'impression en python:Comment imprimer un rapport d'une date particulière à une date particulière dans odoo 10?

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)]) 

Comment imprimer les enregistrements dans le champ Nom?

ou aidez-moi à améliorer ce code

Merci

+0

Avez-vous créé un rapport? – jo541

+0

Non, je n'ai pas créé de rapport @ jo541. – Naveen

+0

Ce sera un bon apprentissage pour moi si vous me dites comment faire ce codage python @ jo541 – Naveen

Répondre

-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))) 
+0

Où devrais-je ajouter cette ligne à mon code? anna puriyara maari solunga anna. Je suis nouveau à ce domaine. @ KLN – Naveen

+0

j'ai donné plein de mon code à vous question précédente .. ce qu'il faut faire – KLN

+0

Ok pouvez-vous s'il vous plaît modifier et envoyez-moi selon mon code @KLN – Naveen

0

Pour imprimer votre rapport. Tu dois faire comme ça.

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']) 

Dans cet exemple. Dans la première fois, je recherche tous les enregistrements doivent être en cours d'impression. Après avoir généré mon pdf avec deux informations, les enregistrements seront en cours d'impression et l'identifiant xml du rapport.

La méthode get_pdf renverra un pdf de base64. Je l'ai mis dans le champ binaire car pour télécharger le pdf, l'utilisateur doit cliquer sur le lien du champ binaire.