2015-11-04 1 views
0

Pour apprendre à créer des modules, j'ai fait le didacticiel odoo, qui est un guide pour créer un exemple de module - ce rapport fonctionne.Odoo 8 rapport qweb, continue d'obtenir l'erreur "QWebTemplateNotFound: ID externe introuvable dans le système"

J'ai suivi les mêmes étapes exactes pour créer le rapport dans mon module et il ne fonctionne pas, je continue à obtenir cette erreur lors de l'accès via l'url rapports:

« QWebTemplateNotFound: ID externe ne se trouve pas dans le système : pprepair.report_idtest_name ". J'ai lu à propos de ce problème que cela pourrait être un bug dans la version que j'utilisais, donc j'ai mis à jour l'Odoo 9 récemment publié, mais toujours la même erreur. Texte différent, mais même problème: ID introuvable.

J'ai vérifié dans les paramètres et le rapport est là. Donc, il a été créé correctement, mais de toute façon, il n'a pas pu être consulté.

Peut-être qu'il me manque quelque chose.

Ci-joint est mon code, s'il vous plaît aider.

<openerp> 
<data> 

<report 
    id="report_idtest" 
    model="pprepair.ppmain" 
    string="Ppreport" 
    report_type="qweb-pdf" 
    name="pprepair.report_idtest_name" 
/> 

<template id="report_idtest_name"> 
    <t t-call="report.html_container"> 
     <t t-foreach="docs" t-as="o"> 
      <t t-call="report.external_layout"> 
       <div class="page"> 
        <h2>Report title</h2> 
       </div> 
      </t> 
     </t> 
    </t> 
</template> 

</data> 
</openerp> 
+0

Peut-être que vous ne l'avez pas installé paquet python-passlib ----> sudo apt-get install python-passlib –

+0

passlib est installé – aydunno

Répondre

0

Lorsque vous créez une action de rapport comme celui-ci:

<report 
    id="report_idtest" 
    model="pprepair.ppmain" 
    string="Ppreport" 
    report_type="qweb-pdf" 
    name="pprepair.report_idtest_name" 
/> 

En dernière ligne, il devrait être name="modulename.report_id".

J'espère que ce sera utile.

+0

J'ai essayé tellement de variantes, j'ai raté celui-ci je suppose. N'a utilisé que le nom de la classe. – aydunno

0
<openerp> 
<data> 


<template id="report_idtest_name"> 
<t t-call="report.html_container"> 
    <t t-foreach="docs" t-as="o"> 
     <t t-call="report.external_layout"> 
      <div class="page"> 
       <h2>Report title</h2> 
      </div> 
     </t> 
    </t> 
</t> 
</template> 


<report 
id="report_idtest" 
model="pprepair.ppmain" 
string="Ppreport" 
report_type="qweb-pdf" 
name="pprepair.report_idtest_name" 
/> 


</data> 
</openerp> 

Définir modèle avant d'appeler dans rapport d'étiquette. Échange-les.

+0

Essayé, pas de différence – aydunno

+0

Est-ce que vous mettez à niveau le module après avoir effectué ces changements.? Vous pouvez mettre à jour votre module par la ligne de commande ---> ./odoo.py -d nom_base --db-filter nom_base -u nom_module Vous pouvez également accéder manuellement aux applications et à la mise à niveau à partir de là. Lorsque vous modifiez un fichier XML, vous devez mettre à jour. –

+0

oui je l'ai fait, je travaille un peu sur le module, et c'est fait pour la plupart, donc je connais les bases. les rapports sont la dernière chose sur la liste ... – aydunno