Odoo Help


Lines Functional values how to shows before saving the record

on 8/13/13, 11:56 AM 4,312 views

Openerp 7 based on this requirement Sale order lines Remaining days Calculate Start Date minus Today at all times. Functional Field and on_change function used:-

def _remaining_days(self, cr, uid, ids, field_name, arg, context=None):
            res = {}
            if not ids:
                return {}
            for val in self.browse(cr, uid, ids, context=context):
                result = datetime.datetime.strptime(val.start_date, '%Y-%m-%d') - datetime.datetime.strptime(current_date, '%Y-%m-%d')
                res[val.id] = result.days
            return res

    'remaining_days': fields.function(_remaining_days, method=True, string='Remaining days', type='integer'),

    def onchange_holddays(self, cr, uid, ids, start_date, context=None):
        result = {}  
        context = context or {}
        if release_date:
            current_date = time.strftime('%Y-%m-%d')
            remaining = datetime.datetime.strptime(release_date, '%Y-%m-%d') - datetime.datetime.strptime(current_date, '%Y-%m-%d')
            result['remaining_days'] = remaining.days                
        return {'value': result}

In order lines Remaining days Values not updated automatically. once save the main sale order record then only lines Remaining days value updated. How to shows the remaining days values in list view before saving the record.

Functional field will have value only after you save the record.

Sudhir Arya (ERP Harbor Consulting Services)
on 8/17/13, 4:44 AM

Using on_change functional field output values able to shows in form view. But in tree view on_change field output values not shown in function field?..

on 8/17/13, 5:01 AM

Based on the requirement "Remaining days Calculate Start Date minus Today at all times" is it possible to any other way to shows remaining days in lines before saving the record. Because our client to see the output before saving the record.

on 8/17/13, 5:52 AM

Sudhir Arya (ERP Harbor Consulting Services)

--Sudhir Arya (ERP Harbor Consulting Services)--
| 6 8 8
Ahmedabad, India
--Sudhir Arya (ERP Harbor Consulting Services)--

• Co-Founder & Co-Owner at ERP Harbor Consulting Services

• ERP Consultant / ERP Customization / TechnoFunctional Expert

• Sound knowledge in Python, Odoo (Open ERP), XML, PostgreSQL

• Domain knowledge of Sale Management, Purchase Management, Warehouse Management, Manufacturing, Multi Company Configuration & Management, HR Management, Medical Management, Construction Management, Education Management, Point of Sale, Third Party Integrations

• Positive attitude and quick Learner

• Good analytical skill, quick bug and issue tracing and find the solution

• Good knowledge and experience in payment gateway integration with Odoo

• Ready to accept new challenges

• Active Memeber On Stackoverflow 




Sudhir Arya
ERP Harbor Consulting Services
Sudhir Arya (ERP Harbor Consulting Services)
On 8/17/13, 5:51 AM

Make your field float type and then return the calculated value from on_change.

Thanks for reply but in our case remaining days [Float data type] Daily need to update automatically based on [Start Date - Today]. After changing Functional field into Float field the daily auto calculation will not work based on this situation how to apply the auto calculation?

on 8/17/13, 6:02 AM

I think based on Sever action and Schedule action use but in that case also have problem reaming days non editable field [readonly=True]. In readonly field output not shown please guide me the right direction to solve this issue. Thanks

on 8/17/13, 6:41 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 8/13/13, 11:56 AM
Seen: 4312 times
Last updated: 10/13/15, 9:23 AM