跳至内容
菜单
此问题已终结

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
8172
3
12月 24
6454
0
1月 24
1779
2
6月 23
4580
1
5月 23
3439