2017-10-03 2 views
3

Je suis nouveau dans odoo Je veux faire un rapport pdf à mon modèle, j'ai essayé tous les tuto que j'ai trouver dans net youtube, google mais personne ne travaille pour moi s'il vous plaît donnez-moi un conseil. il est mon modèle:QWeb pdf rapport odoo 10

# modelx.py file 
from openerp import models, fields, api 

class omega(models.Model): 
    _name = 'omega.model' 
    _description = 'No Description for now !!' 

    @api.model 
    def render_html(self, docids, data=None): 
     report_obj = self.env['report'] 
     report = report_obj._get_report_from_name('report.external_layout') 
     docargs = { 
      'doc_ids': docids, 
      'doc_model': report.model, 
      'docs': self, 
     } 
     return report_obj.render('report.external_layout', docargs) 


    state = fields.Selection([ 
     ('Nouveau', 'Nouveau'), 
     ('valid', 'Validation Responsable'), 
     ('Termine', 'Termine'), 
    ],default='Nouveau') 

    @api.one 
    def confirmer(self): 
     self.write({ 
      'state': 'valid', 
     }) 

    employe = fields.Many2one(comodel_name="res.users", string="Employe", required=True, delegate=True) 
    date = fields.Datetime(string="Date", required=True) 
    date2 = fields.Date(string="Date2", required=True) 
    day_number = fields.Integer(string="Nombre de jour", required=True) 
    transport = fields.Selection(string="Transport", selection=[('1', 'Train'), ('2', 'Voiture de Service'), ('3', 'Avion')]) 
    sujet = fields.Char(string="Sujet", required=True) 
    lieu = fields.Char(string="Lieu", required=False) 

J'ai aussi ce XML deux fichiers:

<!-- report.xml --> 
<?xml version="1.0" encoding="UTF-8" ?> 
<openerp> 
    <data> 
     <report 
      id="action_report_omega" 
      model="omega.model" 
      string="Report" 
      report_type="qweb-pdf" 
      file="report.external_layout" 
      name="report.external_layout" 
     /> 
    </data> 
</openerp> 

et ce fichier pour une vue de modèle que je trouve dans la documentation nette et Odoo

<!-- report_template.xml --> 
<?xml version="1.0" encoding="UTF-8" ?> 
<openerp> 
    <data> 
     <template id="report_omega_document"> 
      <t t-call="report.html_container"> 
      <t t-call="report.external_layout"> 
       <div class="page"> 
       <div class="oe_structure"> 
       <div class="row"> 
        <H1>Hi there hello</H1> 
       </div> 
       </div> 
       </div> 
      </t> 
      </t> 
     </template> 
     <template id="report_omega"> 
      <t t-call="report.html_container"> 
      <t t-call="report.external_layout"> 
       <t t-foreach="doc_ids" t-as="doc_id"> 
        <div class="page"> 
        <div class="oe_structure"> 
        <div class="row"> 
         <H3>Hi hello </H3> 
        </div> 
        </div> 
        </div> 
       </t> 
      </t> 
      </t> 
     </template> 

    </data> 
</openerp> 

quand J'exécute le programme d'impression du rapport Je reçois un fichier vide, donnez-moi des conseils s'il vous plaît

Répondre

4

Vous devez modifier l'attribut de fichier et de nom de l'étiquette de rapport. Il représente toujours module_name.report_template_name

<report 
    id="action_report_omega" 
    model="omega.model" 
    string="Report" 
    report_type="qweb-pdf" 
    file="your_module_name.report_omega" 
    name="your_module_name.report_omega" 
/> 

Ensuite, mettre à jour votre module et essayer. Cela devrait fonctionner correctement.

Pour plus de détails, vous pouvez consulter Qweb Reports - Odoo10 Document.

+0

qui me donne: ID externe introuvable dans le système: omega.model.report_omega –

+0

Quel est votre dossier/nom du module? pas de nom de modèle –

+0

mon dossier de modèle appelé "model_x" –