Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
2757 Vistas


Good Morning, I would like to ask you for help with this issue that I can not solve ..

In a PDF accounting report, I am using the following code that works perfectly but the rows are not sorted by any criteria, I need to sort them according to date field and I can not do it.

I have tried to include the function sorted inside the t-foreach but I do not give with the correct syntax.

So I hit it here is how it works well, but without ordering.

I appreciate any help ..


regards


<?xml version="1.0"?>
<t t-name="account.report_overdue_document">
    <t t-call="report.external_layout">
        <div class="page">
            <div class="row">
                <div class="col-xs-5 col-xs-offset-7" style="font-size:12px;">
                    <span t-field="o.name"/><br/>
                    <span t-raw="o._address_display(None, None)[o.id].replace('\n\n', '\n').replace('\n', '&lt;br&gt;')"/>
                    <span t-field="o.vat"/>
                </div>
                <p>
                    <h6>Document: Customer account statement<br/>
                    Date: <span t-esc="Date"/><br/>
                    <t t-if="o.ref">Customer ref: <span t-field="o.ref"/></t></h6>
                </p>

                <t t-if="Lines[o.id]">
                    <h6><span t-field="res_company.overdue_msg"/></h6>
                    <table class="table table-condensed" t-foreach="Lines[o.id]" t-as="currency" style="font-size:11px;">
                        <thead>
                            <tr>
                                <th>Reference number</th>
                                <th class="text-left">Date</th>
                                <th class="text-left">Due Date</th>
                                <th>Communication</th>
                                <th class="text-right">Due</th>
                                <th class="text-right">Paid</th>
                                <th class="text-center">Litigation</th>
                            </tr>
                        </thead>
                        <tr t-foreach="Lines[o.id][currency]" t-as="line">
                            <td width="110">
                                <span t-esc="line['move_id']"/>
                            </td>
                            <td width="70">
                                <span t-esc="line['date']"/>
                            </td>
                            <td width="70">
                                <span t-esc="line['date_maturity']"/>
                            </td>
                            <td>
                                <t t-if="line['name'] != '/'"><span t-esc="line['name']"/></t>
                                <span t-esc="line['ref']"/>
                            </td>
                            <td class="text-right">
                                <span t-esc="line['debit']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                            <td class="text-right">
                                <span t-esc="line['credit']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                            <td class="text-center">
                                <span t-if="line['blocked']">x</span>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="3"/>
                            <td><strong>Sub-Total :</strong></td>
                            <td class="text-right"><span t-esc="Totals[o.id][currency]['due']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/></td>
                            <td class="text-right"><span t-esc="Totals[o.id][currency]['paid']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/></td>
                            <td class="text-right"><span t-esc="Totals[o.id][currency]['mat']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/></td>
                            <td/>
                        </tr>
                        <tr>
                            <td colspan="3"/>
                            <td><strong>Balance :</strong></td>
                            <td class="text-right">
                                <span t-esc="Totals[o.id][currency]['due'] - Totals[o.id][currency]['paid']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                        </tr>
                        <tr>
                        </tr>
                        <tr>
                            <td colspan="3"/>
                            <td><strong>Saldo para Pagofacil o Rapipago :</strong></td>
                            <td class="text-right">
                                <span t-esc="((Totals[o.id][currency]['due'] - Totals[o.id][currency]['paid']) * 1.05) +3" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="3"/>
                            <td><strong>Saldo para Tarjeta de credito o Mercadopago :</strong></td>
                            <td class="text-right">
                                <span t-esc="(Totals[o.id][currency]['due'] - Totals[o.id][currency]['paid']) * 1.07" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="3"/>
                            <td><strong>Saldo para Deposito o Transferencia :</strong></td>
                            <td class="text-right">
                                <span t-esc="Totals[o.id][currency]['due'] - Totals[o.id][currency]['paid']" t-esc-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;currency&quot;}"/>
                            </td>
                        </tr>
                    </table>
               <br> 
              </br>
                 <table class="table table-condensed" style="border-bottom: 1px dashed black;">
                      <thead>
                         <th> </th>
                     </thead>
                  </table>
<div class="col-xs-12" style="font-size:12px;">
 <t t-if="o.ref">
<t t-set="finaltext" t-value="'995810000'+o.ref[:8]+'00000000000000000000311264235900000000'+o.ref[8:] "/>
 
              <p class="text-center"><img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' % ('Code128', finaltext, 600, 100)" style="width:450px;height:38px"/></p>       
                     <p class="text-center"><t t-esc="finaltext"/></p>
  </t>     
 <t t-if="not o.ref">
              <p class="text-center"><img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' % ('Code128', 7900777575878000000000000000787703340000000000032, 600, 100)" style="width:450px;height:38px"/></p>       
                     <p class="text-center">7900777575878000000000000000787703340000000000032</p>
 </t>
 </div>
             </t>
                <p t-if="not Lines[o.id]">
                    <strong>There is nothing due with this customer.</strong>
                </p>
            </div>
        </div>
   </t>
</t>
Avatar
Descartar
Mejor respuesta

In your parser for this file use order="field_name" (in this case date) when you call the files

Avatar
Descartar
Mejor respuesta

which syntax did you try?

Avatar
Descartar