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', '<br>')"/>
<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="{"widget": "monetary", "display_currency": "currency"}"/>
</td>
<td class="text-right">
<span t-esc="line['credit']" t-esc-options="{"widget": "monetary", "display_currency": "currency"}"/>
</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="{"widget": "monetary", "display_currency": "currency"}"/></td>
<td class="text-right"><span t-esc="Totals[o.id][currency]['paid']" t-esc-options="{"widget": "monetary", "display_currency": "currency"}"/></td>
<td class="text-right"><span t-esc="Totals[o.id][currency]['mat']" t-esc-options="{"widget": "monetary", "display_currency": "currency"}"/></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="{"widget": "monetary", "display_currency": "currency"}"/>
</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="{"widget": "monetary", "display_currency": "currency"}"/>
</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="{"widget": "monetary", "display_currency": "currency"}"/>
</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="{"widget": "monetary", "display_currency": "currency"}"/>
</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&value=%s&width=%s&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&value=%s&width=%s&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>