Odoo Help

0

Fields Function does not work

By
huongcute
on 8/11/14, 12:02 AM 1,227 views

I want to update value fields from object to other object. I used field function above, But it does not work, the error : TypeError: ten_bo_phan() takes at most 4 arguments (7 given)

Code .py

class danh_sach_huy_hd(osv.Model):
    _name = 'huy.hd'
    
    def ten_bo_phan(self,uid, ids, context = None):
        md = self.pool.get('danh.sach.nv').browes(cr, uid, 'ten_nv', context = None).ten_nv
        md2 = self.browes(cr, uid, 'ten_nv', context = None)
        if md.ten_nv == md2.ten_nv :
            res['ten_bp'] = md.ten_bp
            res['ten_cd'] = md.ten_cd
        return res
    
    _columns = {
                'ma_nv':fields.many2one('danh.sach.nv', 'Mã NV'),
                'ten_nv':fields.related('ma_nv', 'ten_nv', type ='char', size = 50, string = 'Tên nhân viên'),
                'ngay_sinh':fields.related('ma_nv', 'ngay_sinh', type ='date', string = 'Ngày sinh'),
                'ten_bp':fields.function(ten_bo_phan,type ='char', string = 'Bộ phận'),
                
                'ten_cd':fields.function(ten_bo_phan,type ='char', string = 'Bộ phận'),
                
                'ly_do_huy': fields.char('Lý do hủy hợp đồng', size = 100),
                'ngay_huy':fields.date('Ngày hủy'),
                
                }

 

 

 

I need some your help. 

Thaks

0
Ben Bernard
On 8/11/14, 12:38 AM

def ten_bo_phan(self, cr, uid, ids, name, args, context = None)

Change the function to above. Notice the signature function argument for function field.

thanks Ben ! But I use to 3 fields, I have an error : server overload? I dont understand why I has an error? During your answer , I tried it. But error stilled 'server overload'? How do I do?

huongcute
on 8/19/14, 11:02 PM
0
huongcute
On 8/11/14, 2:10 AM

Thanks . I tried it but it did not work. I dont know where its error. Can you help me?

Don't forget to restart your server ;)

Ben Bernard
on 8/11/14, 3:25 AM

yeah, I restarted it. and it did not work

huongcute
on 8/12/14, 2:39 AM
0

Hi,

You have to write down you function signature as like below. It will work.

def ten_bo_phan(self, cr, uid, ids, field_name, args, context = None):

 

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.

Register

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)

Stats

Asked: 8/11/14, 12:02 AM
Seen: 1227 times
Last updated: 3/16/15, 8:10 AM