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
- Contabilitate
- Inventar
- PoS
- Project
- MRP
Această întrebare a fost marcată
5174
Vizualizări
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Înscrie-teRelated Posts | Răspunsuri | Vizualizări | Activitate | |
---|---|---|---|---|
|
1
oct. 24
|
3292 | ||
|
1
iun. 20
|
4637 | ||
|
1
mar. 24
|
4890 | ||
|
0
iul. 21
|
2127 | ||
How to learn odoo pos technical
Rezolvat
|
|
1
feb. 21
|
2890 |