Hola Karla Gracias por tu respuesta,
Probé haciendo lo que indicas, pero sigue igual. Por alguna razón no se esta remplazando _fields con la lista de campos de la tabla sunat_tipodocid al llamar al método search. Aquí la definición de tipodocid: class TipoDocId(ModelSQL, ModelView): 'Tipo de documento de identidad sunat' __name__ = 'sunat.tipodocid' code = fields.Char(u'Código Tipo Documento Identidad', size=1, help=u'Tipo Documento Identidad - SUNAT: Tabla 02') name = fields.Char(u'Documento de Identidad', size=50, help=u'Nombre del Documento') active = fields.Boolean(u'Activo',help=u'Estado del registro') Aquí el __init__.py def register(): Pool.register( Party, Address, Template, Product, TipoCdp, TipoMdp, TipoExisteSUNAT, Bank, *TipoDocId,* AduanaId, OperaStock, CatalogoExiste, Company, ExportPLEStart, ExportPLEResult, PaymentType, Currency, Rate, TraerTCStart, TraerTCResult, FiscalYear, Sale, Purchase, *PartyIdentifier, * module='liberorbis_peru_loc', type_='model') Pool.register( ExportPLE, TraerTC, module='liberorbis_peru_loc', type_='wizard') Seguiré dándole vueltas al asunto, si se te ocurre algo mas bienvenidos los aportes. Gracias otra vez. Fernando El 04/12/17 a las 10:10, Karla Stenger escribió: > > > El 1 de diciembre de 2017, 10:32, Fernando Sánchez > <na...@liberorbis.com <mailto:na...@liberorbis.com>> escribió: > > 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 <http://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' > > > Hola Fernando, > no sé, pero si fuera tú, revisaría el orden en el cual se registran > las clases en el Pool en __init__.py y me aseguraría que la clase > 'sunat.tipodocid' se registre antes que PartyIdentifier. > > Saludos, > Karla. > > -- > ------------------------- > Karla Mª Stenger Sábat > karla.sten...@gmail.com <mailto:karla.sten...@gmail.com>