[16.0][FIX] l10n_es_aeat_mod_369: No recalcular line_number debido a incons…#3975
[16.0][FIX] l10n_es_aeat_mod_369: No recalcular line_number debido a incons…#3975sergiobstoj wants to merge 1 commit intoOCA:16.0from
Conversation
…istencias en ciertos casos donde genera que se repita el mismo número y reemplaza registros del dict oss_taxes_map
|
This PR has the |
|
There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. |
pedrobaeza
left a comment
There was a problem hiding this comment.
Según los cambios, previous_tax_count y previous_country ya no sirve para nada. Y si es así, para qué había ese mecanismo? Creo que el objetivo era "pasar como a la siguiente fila de país".
|
There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. |
|
Ninguna respuesta? |
|
Sí, el mecanismo pretendía "pasar a la siguiente fila de país", pero sin ello también pasa al siguiente país. El problema es que en esa fórmula, cuando el último país tiene 5 impuestos, el primer impuesto del siguiente país termina reemplazando al último impuesto del último país añadido. En la descripción deje los pasos a seguir para replicarlo si es necesario. |
|
@sergiobstoj pero insisto: entonces la variable |

…istencias en ciertos casos donde genera que se repita el mismo número y reemplaza registros del dict oss_taxes_map
Existe un caso muy específico en el método
_get_oss_taxes_map. Al iterar enfor country, taxes in oss_countries.items()y tenemos queprevious_tax_count == 5la fórmula indicadaline_number += 8 - (previous_tax_count * 2)siempre se traducirá aline_number += -2. Por ende, en este casoline_numbersiempre será equivalente alline_numberdel último impuesto añadido aoss_taxes_mapy debido a esto, ese último impuesto será reemplazado por el actual y provoca que no se vea reflejado en el reporte 369.Para replicar en runbot:
Se entiende que al realizar esta búsqueda al comienzo del método:
oss_taxes = self.env["account.tax"].search([("oss_country_id", "!=", False), ("company_id", "=", self.company_id.id)])El primer registro siempre será el último creado, entonces:
Crear clientes:
Crear facturas:
Generar 369:
Error-mod-369.mp4
correccion-mod-369.mp4
No termino de darle el sentido a la fórmula
line_number += 8 - (previous_tax_count * 2). Al dejar que siga con su secuencia de +2 en cada iteración, el reporte se genera igual de correcto.