Dominios complejos en una vista openerp, Complex domain in views - openerp

Un ejemplo de como aplicar un dominio complejo sobre un campo

    def _get_partner_domain(self, cr, uid, ids, field_name, arg, context=None):
        #esta funcion devolvera una cadena de tecto de tipo “[1,34,23,45]” con los ids dela tabla res.partner que queremos mostrar.
        res = {}
        for orden in self.browse(cr, uid, ids, context = context):
            partners=[]
            #Realizamos las consultas necesarias para obtener los Ids que buscamos y los pasamos a la lista “partners”
            #depues debemos pasar la lista a una cadena de texto, existen varias formas.. esta es una de ellas
:
            string = ''
            for i in partners:
                string = string + str(i) + ','
            res[orden.id] =  '['+string+']'
        return res
 
   
     _columns = {
        'partner_domain': fields.function(_get_partner_domain, method=True, type='char', string='Domain'),
        'partner_id': fields.many2one('res.partner', 'Partner', required = False, domain = "[('id','in',eval(partner_domain) )]"),

La columna partner_domain es simplemente un campo de tipo char que ontiene una cadena con los ids que queremos mostrar.
En la columna partner_id añadimos como valor de  dominio el campo partner_domain , Muy importante es usar la expresion eval(), para que convierta la cadena de texto en una lista.

Últimas Noticias

Por ha llegado ¡ Ya tenemos disponible para descarga OpenERP 8 Stable Como siempre.. podeis...
Una opción cada vez mas demandada es el poder enviar mensajes mediante whatsapp a clientes....
Después de varios años de un rápido crecimiento, OpenERP, el software empresarial líder de...
More inNoticias  

Documentos Recientes

Linkedin Twitter Facebook Youtube
Copyright (c) InfoAcp 2013. All rights reserved.
Infoacp Empresa de Informática, diseño gráfico, posicionamiento seo, desarrollo de aplicaciones de gestión, openerp
Diseño y soluciones TIC Infoacp S.L.
c\cariatide nº9
Murcia Murcia 30500 España
Localización: 37.992331, -1.130457
968 04 62 28
informática, diseño gráfico, posicionamiento web, programas de gestión para empresas, openerp, seo