1

qweb テンプレートを使用して Odoo でレポートを作成していますが、紙のフォーマットを編集しているときに、目的のビューが得られません。

これが私のコードです。

    <?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 番目のテーブルに複数のレコードを含めるのが好きですが、最初のテーブルの場合は 1 つを表示する必要があります。

4

1 に答える 1

2

最初に、このように QWeb Report でランダリングしているテンプレート全体のグローバル オブジェクトに docs オブジェクトを配置する必要があります。

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

これはあなたに役立つかもしれません

于 2014-10-12T09:12:40.507 に答える