I have a report that should print multiple payslips in one paper.
Using an AbstractModel, the `_get_report_values(self, docids, data=None)` function returns the value data, where data is a list containing all the values I want to loop through for each report.
The idea was to use flexbox and arrange 3 columns in one paper using bootstrap classes.
This idea works well for about 5 payslips but after that it just prints 1 payslip occupying the full page.
I am looking for any possible ways of implementing this.
The sample of the python code is:
```python
from odoo import models, api
class AlpharamaPayslip(models.AbstractModel):
_name = 'report.employee_allowances.alpharama_payslip'
_description = 'Alpharama Payslip'
@api.model
def _get_report_values(self, docids, data=None):
docs = self.env['hr.payslip'].browse(docids)
data = []
for doc in docs:
val = {
'name': doc.employee_id.name,
'department': doc.employee_id.department_id.name,
'payroll': doc.employee_id.payroll_no,
}
data.append(val)
return {
'docs':docs,
'data': data,
}
```
I have managed to create this functionality with this XML code below:
I have removed some part that are not that necessary and maintaining just a bare template.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<template id="alpharama_payslip">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="page d-flex" style="flex-wrap: wrap;">
<div class="row">
<t t-foreach="data" t-as="d">
<div class="col-4" style="height: 100%">
<div style="border-bottom: 1px solid black; padding: 10px 0;">
<div>
Name:
<t t-esc="d['name']" />
</div>
<div>
Department:
<t t-esc="d['department']" />
</div>
</div>
</div>
</t>
</div>
</div>
</t>
</t>
</template>
</data>
</odoo>
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Boekhouding
- Voorraad
- PoS
- Project
- MRP
Deze vraag is gerapporteerd
5167
Weergaven
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!
Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!
AanmeldenGerelateerde posts | Antwoorden | Weergaven | Activiteit | |
---|---|---|---|---|
|
1
okt. 24
|
3280 | ||
|
1
jun. 20
|
4624 | ||
|
1
mrt. 24
|
4881 | ||
|
0
jul. 21
|
2122 | ||
How to learn odoo pos technical
Opgelost
|
|
1
feb. 21
|
2873 |