Skip to Content
Menu
This question has been flagged
1 Reply
3639 Views

Hello,

I need to calculate a field in a view for display only, just for information. I mean, this field is just to display a sum in the view. There exists some way of putting a field in the view form, without reference it on the class.

Thanks.

Avatar
Discard
Best Answer

You need to use functional field for this kind of requirement .

Example:

def _function(self, cr, uid, ids, field_name, field_value, arg, context=None):
        records = self.browse(cr, uid, ids)
        result = {}
        for r in records:
            str = ''
            if r.col1:
                str += r.col1
            if r.col2: 
               str += r.col2
            result[r.id] = str
        return result

_columns = {

    'col1': fields.char('Coloumn 1', size=5, required=True),
    'col2': fields.char('Coloumn 2', size=10, required=True),
    'col3': fields.function(_function, type='char', obj='basic.fldfunct', method=True, store=False, string='Column 3'),
                    }

In Views :

<field name="col1"/>
<field name="col2"/>
<field name="col3"/>

This is the simplest example of the Functional field.Hope this may help you.

Avatar
Discard
Author

Thanks for your answer. It seems that I do not explain correctly. In this example you have to declare the tree fields in the class ( columns = { ... ). My question was, there's any way to have a display field in a view without declare it in a class?

No, there is no such way in any framework I have work so far. Django,Ruby on Rails, Openerp7.

Author

I really thanks the help that you have giving me. Maybe you could see my other post that have no answer yet, The post number 25533, thanks again.

Related Posts Replies Views Activity
1
Aug 25
4581
0
Dec 24
9703
3
Sep 24
21983
5
Dec 24
53405
4
Jul 24
10829