Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
5352 Lượt xem

Hello my friends! 

In the contribution register qweb template, we would want to write the payslip number (from hr.payslip) for each line.

sd

Our PDF report is like this : (see ######)

We have this code in the file report_contributionregister.xml :

                    <table class="table table-condensed">
                        <thead>
                            <tr>
                                <th>Number</th>
                                <th>PaySlip name</th>
                                <th>Code</th>
                                <th>Name</th>
                                <th>Quantity</th>
                                <th>Amount</th>
                                <th>Total</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr t-foreach="get_payslip_lines(o)" t-as="r">
                                <td>
                                    <span>######</span>
                                    <span t-esc="r.get('number')"/>

                                </td>
                                <td><span t-esc="r.get('payslip_name')"/></td>
                                <td><span t-esc="r['code']"/></td>
                                <td><span t-esc="r['name']"/></td>
                                <td><span t-esc="formatLang(r['quantity'])"/></td>
                                <td><span t-esc="formatLang(r['amount'])"/></td>
                                <td><span t-esc=" formatLang(r['total'], currency_obj=o.company_id and o.company_id.currency_id)"/></td>
                            </tr>
                        </tbody>
                    </table>

Could we help please?

 

Ảnh đại diện
Huỷ bỏ
Tác giả

I have also tried . error.

Tác giả Câu trả lời hay nhất

Oh YEH!

In the file : .../addons/hr_payroll/report/report_contribution_register.py

In the method : _get_payslip_lines()

I have replaced :                

'total': line.total,

By :
             'total': line.total,

 'number': line.slip_id.number,

 

Now, i will create an override in my custom module.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

you can use r.get('id')

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks. But you are not right. column is empty. I want the number (2014-PAY-00001) not the id.

Câu trả lời hay nhất

My suggestion, you create own parser like this: https://www.odoo.com/forum/help-1/question/odoo8-reports-and-variables-transfering-71292#answer-72839

Ảnh đại diện
Huỷ bỏ
Tác giả

Not easy. Will see. Thanks

Tác giả

May be I could override the method : def _get_payslip_lines(self, obj): In the class : « class contribution_register_report(report_sxw.rml_parse): » In the file « .../addons/hr_payroll/report/report_contribution_register.py » ???

idea ok in old style api.

Tác giả

Where is the best documentation about this kind of parser?

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 1 21
804
2
thg 4 20
10868
0
thg 5 24
2215
2
thg 5 24
4188
3
thg 2 24
3633