Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
4664 Vistas

When we create a sales invoice the salesperson on the customer doesn’t default to the salesperson on the invoice, it defaults to the user entering the invoice, is there any way to make this happen?

Avatar
Descartar
Mejor respuesta

1.) Currently when you create the invoice, system by default takes the current user ans salesmane in the invoice, so first of all remove that behaviour from the invoice.

'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}),
_defaults={'user_id':False}


2.) Now define an onchange_method for 'partner_id' field for fetching the salesperson from 'res.partner' model.

def onchange_partner_id(self,cr,uid,ids,partner_id,context=None):
    
    res={}
    obj_partner = self.pool.get('res.partner')
    if partner_id:
        br_partner = obj_partner.browse(cr,uid,partner_id,context=context)
        return {'value':{'user_id':br_partner.user_id.id}}
    return {'value':{}}

3.) Also if invoice is created from some other code (not from invoice screen), and you want forcefully the salesman to be related to the customer, then you need to override the create method of account.invoice model.

def create(self,cr,uid,vals,context=None):
    if vals:
        partner_id=vals.get('partner_id',False)
        if partner_id:
            obj_partner=self.pool.get('res.partner')
            br_partner = obj_partner.browse(cr,uid,partner_id,context=context)
            vals.update({'user_id':br_partner.user_id.id})

    return supser(<<your class name>>,self).create(cr,uid,vals,context=context)
                

Hope this helps !!

Avatar
Descartar
Autor

Appreciate your help thank you, please forgive me, where do I make these changes, I'm running on windows, do I make these changes in the application or do I have to change the .py files perhaps? Sorry I'm new to making coding changes.

You need to create a new module, where you will override the model 'account.invoice' and do these changes there. But I think as you are saying you are new to Odoo, so are you aware of overriding the models & fields? If not then you will need someone around you to tell you these things, because otherwise it will be difficult to solve your problem.

Autor

Thanks again, do you know of any reference guides I might be able to follow to gain a better understanding?

Publicaciones relacionadas Respuestas Vistas Actividad
1
abr 23
4159
0
nov 22
2180
2
oct 18
7913
6
may 24
11050
0
ene 17
3781