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