Hola Sergi

Hasta la versión 4.2 la definición del campo type en la clase 
PartyIdentifier era así 
<http://hg.tryton.org/modules/party/file/4.2/party.py#l253>: 

*type = fields.Selection('get_types', 'Type')*


Usaba el método 'get_types' para poblar la lista y el usuario seleccione, 
yo sobrescribí este método y obtenía los valores de una tabla sin ningún 
problema.

Desde la 4.4 se cambió a 
<http://hg.tryton.org/modules/party/file/4.4/party.py#l301>:


*type** = fields.Selection([**
            (None, ''),
            ('eu_vat', 'VAT'),
            *

*], 'Type')*


A mi modesto entender la definición de la 4.2 fue mejor pues te permitía 
evitar el HARDCODE de los tipos de identificación.
Sería interesante saber cual fue la razón por la que se hizo el cambio, 
pues hasta donde se ve, en la 4.2 tienes mayor flexibilidad.

Saludos

Fernando



El jueves, 7 de diciembre de 2017, 3:52:05 (UTC-5), Sergi Almacellas 
Abellana escribió:
>
> El 05/12/17 a les 18:52, Karla Stenger ha escrit: 
> > 
> > 
> > El 4 de diciembre de 2017, 13:28, Fernando Sánchez <[email protected] 
> <javascript:> 
> > <mailto:[email protected] <javascript:>>> escribió: 
> > 
> >     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. 
> > 
> > ​ Investigué un poco más, y encontré que el campo _fields se agrega al 
> > modelo en la funcion __post_setup__ [1] por lo que si la llamas desde 
> > __setup__ es de esperar que no exista. 
>
> Si no recuerdo mal, esta hecho a posta, ya que el __post__setup__ se 
> llama solo cuando se han "cargado" los campos y su definicion. Esto es 
> para permitir modificar los campos en el __setup__. 
> > 
> > Entiendo que esto es, o bien una limitación para la funcion __setup__ 
> > que no te permite filtrar por el campo 'active' o bien un bug. 
> > 
> > 
> > Podrías por ejemplo eliminar el filtro para ver si así te funciona, 
> > quizás considerar si es realmente necesario en este caso. 
> > 
> > 
> > O quizás alguien que lo entienda mejor te pueda dar otro consejo de como 
> > manejarlo. 
> >   Por ejemplo, me pregunto si usar __post_setup__ en tu caso ayudaría. 
>
> No deberías sobreeescribir el __post_setup__. 
>
> En este caso, supongo que lo mas facil es no definir los valores en una 
> tabla a parte, sinó añadir los valores directamente a la lista. 
>
> Un saludo, 
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>

Responder a