2014-09-24 151 views
1

我在Odoo中使用qweb模板創建報告,在編輯紙張格式時,我沒有獲得所需的視圖。Odoo Qweb報告

這是我的代碼。

<?xml version="1.0" encoding="UTF-8"?> 
    <openerp> 
    <data> 
    <template id="leave_card_report_temp"> 
    <!-- <t t-call="report.html_container">--> 
    <!--  <t t-foreach="docs" t-as="doc">--> 
       <t t-call="report.external_layout"> 
        <div class="page" style="width:860px;"> 
         <!--<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % company.logo" style="max-height:60px;align:left"/>--> 
         <h3><p style="text-center;">Leave Card</p></h3> 

         <br/>  

         <style> 
           table, th, td { 
           border: 2px solid black; 

           border-collapse: collapse; 
           } 
           th, td { 
           padding: 5px; 
           text-align: left;  
           } 
         </style> 

         <table style="width:860px;font-Size:11px; border:1px solid black;border-collapse:collapse;border-bottom:1px solid white;"> 
    <!--      <t t-foreach="docs" t-as="doc">--> 
    <!--      <t t-if="o.name">--> 
          <tr> 

           <td><strong>Name:</strong></td> 
           <td> 

    <!--        <span t-field="doc.name"/>--> 

           </td> 

           <td><strong>Designation:</strong></td> 
    <!--       <td><span t-field="designation"/></td>--> 
           <td><strong>Department:</strong></td> 
    <!--       <td><span t-field="department"/></td>--> 
           <td><strong>Employee Code:</strong></td> 
    <!--       <td><span t-field="name"/></td>--> 
          </tr> 
          <tr> 
          <td><strong>DOJ(C):</strong></td><td></td> 
          <td><strong>DOJ(R):</strong></td><td></td> 
          </tr> 
    <!--      </t> --> 

         </table> 
         <br/> 
         <br/>  
         <table cellspacing="1" cellpadding="4" border="3" class = "table table-striped"> 
          <!--<table style="width:860px;font-Size:11px; border:1px solid black;border-collapse:collapse;border-bottom:1px solid white;">--> 
          <tr>      
           <th width="70" rowspan="2" >DATE FROM</th> 
           <th width="70" rowspan="2" >DATE TO</th> 
           <th width="70" rowspan="2" >No Of Days</th> 
           <th colspan="3"> CL</th> 
           <th colspan="4"> EL</th> 
           <th width="70" rowspan="2">LOP</th> 
           <th colspan="2">INITIALS</th> 
           <th width="70" rowspan="2"> REMARKS</th> 
          </tr> 

          <tr align="right"> 
           <th width="70">Earned</th> 
           <th width="70">Availed</th> 
           <th width="70">Balance</th> 
           <th width="70">Earned</th> 
           <th width="70">Availed</th> 
           <th width="70">Balance</th> 
           <th width="70">Encashment</th> 
           <th width="70">Reporting Officer</th> 
           <th width="70">Reviewing Officer</th> 

          </tr> 
          <tbody>        
          <t t-foreach = "docs" t-as = "doc"> 
          <tr> 

           <td><span t-field="doc.date_from"/></td> 
           <td><span t-field="doc.date_to"/></td> 
           <td><span t-field="doc.no_of_days"/></td> 
           <td><span t-field = "doc.earned_cl"/></td> 
           <td><span t-field = "doc.availed_cl"/></td> 
           <td><span t-field = "doc.balance_cl"/></td> 
           <td><span t-field = "doc.earned_el"/></td> 
           <td><span t-field = "doc.availed_el"/></td> 
           <td><span t-field = "doc.balance_el"/></td> 
           <td><span t-field = "doc.encash"/></td> 
           <td><span t-field = "doc.loss_of_pay"/></td> 
           <td><span t-field = "doc.reporting_officer"/></td> 
           <td><span t-field = "doc.reviewing_officer"/></td> 
           <td><span t-field = "doc.remark"/></td> 
          </tr> 
          </t> 
          </tbody> 
          </table> 



        </div> 

      </t> 
    <!--  </t>--> 
    <!-- </t>--> 
    </template> 
    <template id="leave_card_view"> 
     <t t-call="report.html_container"> 
      <t t-foreach="doc_ids" t-as="doc_id"> 
       <t t-raw="translate_doc(doc_id, doc_model, 'leaves_management.leave_card_report_temp')"/> 
      </t> 
     </t> 
    </template> 

    </data> 
    </openerp> 

我的問題是,當我嘗試打印報告時,我收到多個文檔。在我的第一個表格中,如果我指定值doc.name,其創建問題

我喜歡在第二個表中有多個記錄,但在第一個表格中應該顯示一個記錄。

回答

2

首先你應該把文檔對象在整體QWeb報告模板然不敢這樣全球的人..

<template id="leave_card_report_temp"> 
    <t t-call="report.html_container"> 
    <t t-foreach="docs" t-as="doc"> 
And access the doc in multiple table in ODOO 
<table> 
    <tr> 
     <td> 
     <t t-if="doc.name> 
      <span t-field="doc.name"/> 
     </t> 
     </td> 
    </tr> 
    </table> 
    <table> 
    <tr> 
     <td> 
     <t-if="doc.date_from"> 
      <span t-field="doc.date_from"/> 
     </t> 
     </td> 
     <td> 
     <t-if="doc.date_to">  
      <span t-field="doc.date_to"/> 
     </t> 
     </td> 
     <td> 
     <t-if="doc.no_of_days">  
      <span t-field="doc.no_of_days"/> 
     </t> 
     </td> 
    </tr> 
    </table> 
</t> 
</t> 
</template> 

這可能對您

有幫助