콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다

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
8670
3
12월 24
6796
0
1월 24
1933
2
6월 23
4903
1
5월 23
3747