コンテンツへスキップ
メニュー
この質問にフラグが付けられました
3 返信
2425 ビュー

in hr.employee i have added a field x_loan_applicable_amount as computed field, below is the compute method, but its not working. i want to calculate amount columns in 2 models hr.payslip.input and hr.payslip.line below is for one just to test but i want it to plus both amount columns.

def compute_loan_applicable_amount(self):
    # self : model shift
    input_amt = self.env['hr.payslip.input']
    for rec in self:
        applicable_amount = 0
        input_ids = input_amt.search([('payslip_id.employee_id', '=', rec.id)])
        if input_ids:
            for inputs in input_ids:
                # amount = payment amount
                applicable_amount += inputs.amount
        rec['x_loan_applicable_amount'] = applicable_amount

please help.

regards


アバター
破棄
著作者

anybody knows how to resolve this problem?

著作者

please somebody help...

Have you written "api.depends" on your compute method??

著作者

i am working through Settings -> Technical and it ask for Dependcies, i have given 'name' field here which will works after editing in this field and not automatically when loading form / new record.

I don't get what are you trying to tell.

著作者

i am working enabling Developer mode (localhos:8017/web?debug=1)

in Settings now it has another Menu which is Technical when click this Menu is shows us various options, i selected Models and select Employee model to add Compute method on a field (x_loan_applicable_amount) , in Dependencies it required to add field(s) , i given a field name here.

最善の回答

Hello Smith.John45

try below code once

def compute_loan_applicable_amount(self):

    # self: model shift

    input_amt = self.env['hr.payslip.input']

    for rec in self:

        applicable_amount = sum(input_amt.search([('payslip_id.employee_id', '=', rec.id)]).mapped('amount'))

        rec['x_loan_applicable_amount'] = applicable_amount

Best Regards,
Shakti

アバター
破棄
著作者

thanks, but it still not working... how i can see the values in log to verify? i am using Settings -> Technical -> Models when i used print() function, it says print is undefined, also raise UserError() is not working.
.

著作者

i didn't marked it as Answer... within 20 minutes without any feedback?

著作者

@Shaktisinh Jadav (shj) thanks to re-open it.

最善の回答

Do this

rec.write({"x_loan_applicable_amount" : applicable_amount})
アバター
破棄
著作者

no, its not working... how i can check the value of rec.id, i am working in Odoo17, using Developer mode on, Settings -> Technical -> Models

最善の回答

Hi Smith,

Please try;
rec.x_loan_applicable_amount = applicable_amount
instead of;
​rec['x_loan_applicable_amount'] = applicable_amount


Thanks.

アバター
破棄
著作者

nop, this is not working that's why i changed to what i have wrote in my compute method.

関連投稿 返信 ビュー 活動
1
9月 23
8292
3
12月 24
6528
0
1月 24
1816
2
6月 23
4643
1
5月 23
3501