Goodnight,
how can I iterate in the qweb report, a dictionary list. try with: (odoo11)
* <t t-foreach = "records" t-as = "det">
but I have the following error, or how could I do it.
the list returned by the sql query is:
<class list>
[{price_total: 1044.3, number: F001-00000001, product_id: 32}, {price_total: 1044.3, number: F001-00000004, product_id: 32}, {price_total: 29.5, number: F001-00000005, product_id: 28}, {price_total: 16.0, number: F001-00000007, product_id: 48}]
models:
def imprimir(self):
records = []
records = self._sql_get_line_for_report(self.fecha_inicio,self.fecha_fin)
return self.env.ref('report_comprobantes_efact.linea_report_formato_pdf').report_action(self,records)
***report.xml
<table class="table table-condensed" >
<thead>
<tr>
<th>CUO</th>
<th>FECHA EMISION</th>
<th>GLOSA</th>
</tr>
</thead>
<tbody>
<t t-foreach="records" t-as="det">
<tr style="border:solid grey 4px">
<td><span t-esc="det['number']"/></td>
<td><span t-esc="det['price_total']"/></td>
<td><span t-esc="det['product_id']"/></td>
</tr>
</t>
</tbody>
</table>
error:
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1624, in report_download response = self.report_routes(reportname, converter='pdf', **dict(data)) File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap response = f(*args, **kw) File "/mnt/extra-addons/report_xlsx/controllers/main.py", line 43, in report_routes reportname, docids, converter, **data File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap response = f(*args, **kw) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1557, in report_routes data.update(json.loads(data.pop('options'))) ValueError: dictionary update sequence element #0 has length 3; 2 is required
Nested Loops in qweb: https://learnopenerp.blogspot.com/2020/08/create-custom-report-in-odoo-using-qweb.html