Help

4

how to remove sum of total in group by

Avatar
Prakash

In OpenERP 7 List view time data added using the below code:-

'in_time' : fields.float('In Time'),

<field name="intake_time" widget="float_time"/>

In List view selected "Group by " any fields Header shows Total In time Value

How to remove Total In time value ? [in xml file not added sum keyword but group by still shows sum time ]

Avatar
Discard
4 Answers
6
Avatar
Pierre Verkest
Best Answer

Hi,

Probably a bit late!

You could override the read_group method like this on you model:

    def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False):
        if 'intake_time' in fields:
            fields.remove('intake_time')
        return super(MyClassName, self).read_group(cr, uid, domain, fields, groupby, offset, limit=limit, context=context, orderby=orderby)

8 Comments
Avatar
Discard
Avatar
Pierre Verkest
-

I let a 'c' on the if condition, unfortunately, I haven't enough karma to edit my own post!...

Avatar
Karina Delgado
-

I completely agree with this method, I tried it and it works! Thank you.

Avatar
Yannick Vaucher
-

Thanks for this tip. It still work in Odoo 8.0

Avatar
Yannick Vaucher
-

By the way I fixed the extra 'c'

Avatar
Mathieu Laflamme
-

Not too late at all. Thanks. Still works on Odoo 9.0.

Avatar
Mathieu Laflamme
-

Ok after struggling with another issue on the pivot view, I figured out this hack is causing problem... seems like the pivot view is confused on the groups and javascript is crashing when selecting measures or "Expand all". I think the js code can be fixed to fully support the hack here and I will fill a ticket at Odoo.

Avatar
Mathieu Laflamme
-

There is no issue with the pivot finally!!! Problem is that last line should be:

return super(ReportDetailInvoice, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby, lazy).

Avatar
Tai Le Thanh
-

tks, it works, but I must change the first and last line

first line : ... , lazy=True) :

last line : ... , lazy=lazy)

1
Avatar
Francesco OpenCode
Best Answer

If the field has the tag sum in the tree view, when you use the group by you have the sum of all records. Remove the sum tag from view so you has'nt the sum when use group by

Avatar
Discard
0
Avatar
Prakash
Best Answer

The default Float field value for group_operator shows sum of value

Reference link http://www.zbeanztech.com/blog/group-operator-openerp-grouping

Currently "Group by" Field values able to change to min, max, avg

But unable to remove group by value

i applied group_operator = None or group_operator = False but its still shows sum of total. How to group_by remove sum or set to value None

Any update?..

Avatar
Discard
0
Avatar
Naresh Soni (nch)
Best Answer

Hello Prakash,

By default OpenERP Will consider 'SUM' as group operator . So you wan't be able to remove this behavior easily by any sort of configuration or xml code. For this you need to make changes in the orm.py in def read_group method and comment out the code that adds the default 'SUM' to integer and float fields at line 2664.

Hope this helps !

1 Comment
Avatar
Discard
Avatar
Prakash
-

Thanks for reply i will try