Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
3 Răspunsuri
9049 Vizualizări

i experienced some problem when override method _amount_all(), 

here the error:

TypeError: _amount_all() got an unexpected keyword argument 'context'

and here my code:

...

    @api.multi
    def _amount_all(self, field_name):
        reslt = {}
        result = super(sale_order, self)._amount_all(field_name)
        for orders in self.browser(self.id):
            reslt[orders.id] = {
                'discount_fidelity': self.discount_fidelity
            }
            result[orders.id]['discount_fidelity'] = cur_obj.round(
                reslt[orders.id]['discount_fidelity'])
            result[orders.id]['amount_total'] = result[orders.id][
                'amount_total'] - reslt[orders.id]['discount_fidelity']
        return result

The point why i override this function because i want to add new field to use when counting total amount.

Thanks.

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

You can simply override method as below.

@api.multi
def _amount_all(self, field_name, arg):
    ret_val = super(sale_order, self)._amount_all(field_name, arg)
    for order in self:
        ret_val[order.id]['field_name'] += order.new_field
    return ret_val

Hope this will help you.

Thanks.

Imagine profil
Abandonează
Cel mai bun răspuns

Hi yopi, did you create new module to do that and then you did the inheritance method ?

Imagine profil
Abandonează
Autor Cel mai bun răspuns

to Nishant Jogi, thanks a lot, it's work.

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
3
apr. 22
12233
4
ian. 19
32041
1
mar. 17
8173
0
mai 16
3883
0
mar. 16
3098