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
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
5240
Lượt xem
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
1
thg 10 24
|
3331 | ||
|
1
thg 6 20
|
4688 | ||
|
1
thg 3 24
|
4966 | ||
|
0
thg 7 21
|
2156 | ||
How to learn odoo pos technical
Đã xử lý
|
|
1
thg 2 21
|
2942 |