El 1 de diciembre de 2017, 10:32, Fernando Sánchez <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) 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