-
-
Notifications
You must be signed in to change notification settings - Fork 520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[8.0] Cambiado hardcodeo nombres de posición fiscal #565
[8.0] Cambiado hardcodeo nombres de posición fiscal #565
Conversation
A mi me parece correcto. Lo único que veo es que las comprobaciones del tipo se hacían contra enteros y ahora son cadenas. |
Yo veo necesario un script de migración ya que este cambio obligaría a todo el mundo a recorrerse las posiciones fiscales a mano para escribirles este nuevo campo, por lo que en el momento que se aplique este commit fallarían los envíos sino se hace esto a mano. |
El tema del script lo veo bien, si aplico post_init_hook, ¿sería necesario reinstalar el módulo o también se aplicaría en un update? |
@JuanjoA |
Sería un migrations al cambiar la versión no un post_init_hook, hay ejemplos en l10n_es |
Pero esto no es lo que he comentado en el issue... ahora más tarde os propongo una alternativa. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Como he dicho en el issue, "la parte hardcodeada" no se debe quitar. Simplemente, hacer un elif
más para si se tiene algún dato en la posición fiscal.
@@ -4,6 +4,11 @@ | |||
|
|||
from openerp import fields, models, api | |||
|
|||
SII_GEN_TYPE = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Esto no tiene ninguna ventaja ponerlo aquí arriba con la nueva función de selection_add
. Mejor que esté en la propia definición del campo por legibilidad
sii_partner_identification_type = fields.Selection( | ||
selection=SII_GEN_TYPE, | ||
string="SII partner Identification Type", | ||
default=1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No tengo claro que los números se vayan a almacenar así en la BD y no como VARCHAR, así que lo mejor sería hacer un int() en el método que lo obtiene.
…a en caso de no tener indicado el tipo de identificador del partner.
He cambiado lo mencionado por @pedrobaeza, no me acaba de cuadrar del todo, pero ahorra el script de migración, y aporta la flexibilidad requerida. Edito: le he quitado el valor por defecto, por lo que hay que configurarlo manualmente si se requiere. |
elif self.fiscal_position.name == \ | ||
u'Régimen Extracomunitario / Canarias, Ceuta y Melilla': | ||
return 3 | ||
partner_ident = self.fiscal_position.sii_partner_identification_type |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sigue sin ser lo que quería, aunque bueno, llevas parte de razón en que debe tener prioridad lo puesto en la posición fiscal, pero no puedes quitar el 1 como valor por defecto en else. Pon este código:
partner_ident = self.fiscal_position.sii_partner_identification_type
if partner_ident:
res = int(partner_ident)
elif self.fiscal_position.name == u'Régimen Intracomunitario':
res = 2
elif (self.fiscal_position.name ==
u'Régimen Extracomunitario / Canarias, Ceuta y Melilla'):
res = 3
else:
res = 1
return res
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Y recuerda siempre tener la complejidad ciclomática en mente (los if y bifurcaciones que haces).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Está al comienzo, res=1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cierto, se me pasó, pero mejor el código que yo propongo por legibilidad y complejidad menor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otro consejo es nunca utilizar la \
para múltiples líneas. Mejor paréntesis (ya he editado mi propuesta de código), porque con eso a veces pueden salir errores con líneas complejas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Listo @pedrobaeza .
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
* Cambiado hardcodeado de nombres de posición fiscal a configurable por posición fiscal * Traducciones
Ahora se puede seleccionar a nivel de posición fiscal el tipo de identificación que se espera para los clientes asociados. Esto nos da opción a cambiar los nombres de las posiciones fiscales según necesidad, y da libertad a quien no quiera hacerlo y usar el estándar.
Si es cierto que una vez aplicado, será necesario configurar las posiciones fiscales según necesidad, ya que por defecto se pondrá nacional.
El mínimo a configurar será (para estos casos):