Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
28982 Weergaven

Good day, i'm working with odoo8 developing a module that check the payments of employees social benefits. I need to get the last value inserted in a field "accumulated, i'm trying with this code:


@api.one

def _get_sum_payment(self):

payments = self.env['hr.prestaciones'].search([(employee_id','=', self.employee_id),('accumulated')])

self.sum_payments = sum(item.amount for item in payments)

sum_payments = fields.Float(string="Prestaciones Acumuladas", compute='_get_sum_payment')


but that code is not working... how can solve it?

Avatar
Annuleer
Beste antwoord

Hi,

    env(Environment) in new API is to provide an encapsulation around cursor, user_id, model, and context, Recordset and caches.

It evades the use of infamous function signature def afun(self, cr, uid, ids, context=None): and in new API its def afun(self):

And if you want to call ORM method directly from an object you can use self.env['obj'].method instead of self.method

An environment wraps data for ORM records:

  • 'cr', the current database cursor.

  • 'uid', the current user id.

  • 'context', the current context dictionary.

For more about env: Link

For getting the value of accumulated from last record of 'hr.prestaciones' you can use this script:-

payments = self.env['hr.prestaciones'].search([])[0].accumulated

Hope this helps.

Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
2
aug. 23
3285
2
dec. 22
14801
1
nov. 21
4927
1
jan. 21
4394
0
jan. 21
2279