Gracias Sergi y Raimon por su pronta y clara respuesta.
Ya logre personalizar la selection, pero solo de forma estatica.
Al poblarla dinamicamente con registros de una tabla que contiene los 
valores me lanza un error.
Aqui el codigo:

class PartyIdentifier(ModelSQL, ModelView):
    'Party Identifier'
    __metaclass__ = PoolMeta
    __name__ = 'party.identifier'
    
    @classmethod
    def __setup__(cls):
        super(PartyIdentifier, cls).__setup__()
        tiposdocid = cls.get_types()
        for tipos in tiposdocid:
            if tipos not in cls.type.selection:
                cls.type.selection.append(tipos)
    
    @classmethod
    def get_types(cls):
        #return [('0', 'Otros tipos de documentos'),('6', 'RUC'),('1', 
'DNI'),('4', 'C. EXT.'),('7', 'Pasaporte'),('A',u'Cédula Diplomática de 
Identidad'),]
        pool = Pool()
        Type = pool.get('sunat.tipodocid')
        types = Type.search([('active','=','True')])
        return [(x.code, x.name) for x in types]

El trace del error:
Traceback (most recent call last):
  File "/home/nando/.virtualenvs/liberorbis46/bin/trytond-admin", line 21, 
in <module>
    admin.run(options)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/admin.py",
 
line 54, in run
    installdeps=options.installdeps)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/pool.py",
 
line 155, in init
    lang=lang, installdeps=installdeps)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
 
line 462, in load_modules
    _load_modules(update)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
 
line 432, in _load_modules
    load_module_graph(graph, pool, update, lang)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
 
line 229, in load_module_graph
    pool.setup(classes)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/pool.py",
 
line 227, in setup
    cls.__setup__()
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/modules/liberorbis_peru_loc/party.py",
 
line 66, in __setup__
    tiposdocid = cls.get_types()
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/modules/liberorbis_peru_loc/party.py",
 
line 76, in get_types
    types = Type.search([('active','=','True')])
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/model/modelsql.py",
 
line 1128, in search
    tables, expression = cls.search_domain(domain)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/model/modelsql.py",
 
line 1286, in search_domain
    domain = cls._search_domain_active(domain, active_test=active_test)
  File 
"/home/nando/.virtualenvs/liberorbis46/local/lib/python2.7/site-packages/trytond/model/modelstorage.py",
 
line 407, in _search_domain_active
    if not ('active' in cls._fields
AttributeError: type object 'sunat.tipodocid' has no attribute '_fields'

Agradecer las posibles respuestas otra vez.

Fernando



El viernes, 1 de diciembre de 2017, 3:10:28 (UTC-5), Sergi Almacellas 
Abellana escribió:
>
> El 01/12/17 a les 07:44, Raimon Esteve ha escrit: 
> > 
> > 
> > El dia 1 des. 2017 7:13 a. m., "Fernando Sánchez" <[email protected] 
> <javascript:> 
> > <mailto:[email protected] <javascript:>>> va escriure: 
> > 
> >     Saludos a la comunidad, 
> > 
> >     En esta oportunidad necesito luces para extender la clase 
> >     party.identifier de la versión 4.6 
> >     El campo "type" de esta clase es del tipo fields.Selection, que 
> >     hasta la version 4.2 obtenía sus valores via la función get_types, 
> >     así para extenderlo en mi modulo solo redefinia la función get_types 
> >     con los valores que obtenía de una tabla. 
> > 
> >     type = fields.Selection('get_types', 'Type') 
> > 
> >     Sucede que en la versión 4.6 ya no se usa get_types sino que se 
> >     asignan los valores de manera estática 
> > 
> >          type = fields.Selection([ 
> >                  (None, ''), 
> >                  ('eu_vat', 'VAT'), 
> >                  ], 'Type') 
> > 
> >     Me gustaría saber como puedo redefinir los valores de type en mi 
> >     modulo personalizado. 
> > 
> >     Saludos y agradecimiento anticipado. 
> > 
> > 
> > Seria lo mismo en el __setup__ y añadir mas opcions en la llista del 
> > atributo "selectiu" de "cls.type" 
> El attributo es selection. A continuación te dejo un ejemplo: 
>
>
> http://hg.tryton.org/modules/account_payment_stripe/file/199ba42de12c/payment.py#l35
>  
>
> Un saludo, 
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>

Responder a