Skip to content

Comments

[FIX] account_withholding: no queremos contexto active_test False#851

Open
pablohmontenegro wants to merge 1 commit intoingadhoc:16.0from
adhoc-dev:16.0-h-106338-pam
Open

[FIX] account_withholding: no queremos contexto active_test False#851
pablohmontenegro wants to merge 1 commit intoingadhoc:16.0from
adhoc-dev:16.0-h-106338-pam

Conversation

@pablohmontenegro
Copy link
Contributor

Ticket: 106338

Copilot AI review requested due to automatic review settings December 19, 2025 01:41
@roboadhoc
Copy link
Contributor

Pull request status dashboard

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR aborda un problema relacionado con el contexto active_test=False en el módulo account_withholding, referenciado por el ticket 106338. El cambio incluye un script de pre-migración que fuerza la actualización de una vista del módulo core account para permitir que se aplique correctamente un cambio upstream de Odoo.

  • Incremento de versión del módulo de 16.0.3.1.0 a 16.0.3.2.0
  • Nuevo script de pre-migración que carga forzosamente la vista account_move_views.xml del módulo account de Odoo core

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
account_withholding/manifest.py Actualiza la versión del módulo a 16.0.3.2.0 para reflejar los cambios de migración
account_withholding/migrations/16.0.3.2.0/pre-migration.py Agrega script de pre-migración que fuerza la actualización de la vista account_move_views.xml del módulo account para aplicar cambios del PR upstream de Odoo #240659

@openupgrade.migrate()
def migrate(env, version):

logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El mensaje de log menciona el PR de Odoo upstream (odoo/odoo#240659) pero no explica qué hace ese cambio ni cómo se relaciona con el título del PR actual ("no queremos contexto active_test False"). Sería útil documentar: (1) qué cambio específico trae ese PR de Odoo, (2) por qué se necesita forzar la actualización antes de aplicar los cambios de este módulo, y (3) cómo esto se relaciona con la eliminación del contexto active_test=False. Esto ayudará a futuros mantenedores a entender el propósito de esta migración.

Suggested change
logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
logger.info(
"Forzamos la actualización de la vista 'account_move_views' del módulo "
"'account' para asegurarnos de que ya incorpora el cambio upstream de "
"Odoo (PR https://github.com/odoo/odoo/pull/240659) antes de aplicar los "
"cambios de este módulo. Ese PR ajusta el contexto utilizado en la vista "
"base de apuntes contables para dejar de utilizar 'active_test = False'. "
"Este módulo tiene como objetivo eliminar también el uso de "
"'active_test = False' en sus propias vistas/herencias, por lo que es "
"necesario partir de la vista estándar ya actualizada para evitar "
"inconsistencias entre el comportamiento de Odoo base y las extensiones "
"de este módulo durante la migración."
)

Copilot uses AI. Check for mistakes.
Comment on lines +9 to +10
logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
openupgrade.load_data(env.cr, 'account', 'views/account_move_views.xml')
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El script de migración no incluye manejo de errores ni verificación de que la vista exista. Si el archivo 'views/account_move_views.xml' no existe en el módulo 'account' o falla la carga por cualquier razón, la migración fallará sin información clara. Se recomienda agregar un try-except con logging apropiado, o al menos verificar que el archivo exista antes de intentar cargarlo.

Suggested change
logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
openupgrade.load_data(env.cr, 'account', 'views/account_move_views.xml')
logger.info(
"Forzamos la actualización de la vista de account_move_views en módulo "
"account para que pueda aplicarse correctamente este cambio "
"https://github.com/odoo/odoo/pull/240659"
)
try:
openupgrade.load_data(env.cr, "account", "views/account_move_views.xml")
except Exception:
logger.exception(
"Error al cargar la vista 'views/account_move_views.xml' del módulo "
"'account' durante la migración. Verifique que el archivo exista y "
"sea válido."
)
raise

Copilot uses AI. Check for mistakes.
@openupgrade.migrate()
def migrate(env, version):

logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El mensaje de log contiene una línea muy larga (más de 120 caracteres). Según PEP 8 y buenas prácticas, se recomienda dividir el mensaje en múltiples líneas para mejorar la legibilidad, especialmente cuando incluye URLs largas.

Suggested change
logger.info('Forzamos la actualización de la vista de account_move_views en módulo account para que pueda aplicarse correctamente este cambio https://github.com/odoo/odoo/pull/240659')
logger.info(
'Forzamos la actualización de la vista de account_move_views en módulo account para que pueda '
'aplicarse correctamente este cambio '
'https://github.com/odoo/odoo/pull/240659'
)

Copilot uses AI. Check for mistakes.
pablohmontenegro added a commit to adhoc-dev/account-payment that referenced this pull request Dec 22, 2025
…al pagar

Llegaron 2 tickets 106105 (ticket padre) y 106338 que son de versión 16 en el que comentaron que se calculaban retenciones que no corresponden y esto sucedió aproximadamente desde que fue la caída de infraestructura el 05/12/2025 que se hizo un update de todos los módulos en bases de 16. Esto hizo que se incorpore este cambio odoo/odoo@0e9751d que tiene context="{'active_test': False}" entonces cuando se corre esto https://github.com/ingadhoc/account-payment/blob/16.0/account_withholding_automatic/models/account_payment_group.py#L90 (en método compute_withholdings) que hace un search de impuestos llega con dicho contexto y se terminan buscando impuestos que están archivados lo cual no queremos que suceda porque se terminan calculando retenciones de impuestos archivados y además crea registros de account partner tax con alícuotas en los contactos porque además hace conexión con agip, etc y eso hace que se creen registros con alícuotas en los contactos. Para solucionar la urgencia en dichos tickets lo que se hizo fue establecer "Ninguna" en el campo "Tipo" (withholding_type) de aquellos impuestos de retención que tenían establecido "Alícuota en el partner", de esa manera hace que no se calculen retenciones que no corresponden.

Hice este kpi (346) "v16 #H-106338-106105-107058 impuestos archivados con campo withholding_type = 'partner_tax'" en el cual se puede ver en que bases hay impuestos inactivos que tienen el campo "withholding_type = 'partner_tax'" y que pueden tener el bug que haga que se calculen retenciones que no corresponden. También hice los prs odoo/odoo#240659 y ingadhoc#851 para solucionar el problema pero el pr de odoo da conflicto al agregarlo en una base de test y no se por que entonces lo que hice fue hacer este pr para solucionar el problema de manera definitiva que es el objetivo de este ticket.
jjscarafia pushed a commit that referenced this pull request Dec 30, 2025
…al pagar

Llegaron 2 tickets 106105 (ticket padre) y 106338 que son de versión 16 en el que comentaron que se calculaban retenciones que no corresponden y esto sucedió aproximadamente desde que fue la caída de infraestructura el 05/12/2025 que se hizo un update de todos los módulos en bases de 16. Esto hizo que se incorpore este cambio odoo/odoo@0e9751d que tiene context="{'active_test': False}" entonces cuando se corre esto https://github.com/ingadhoc/account-payment/blob/16.0/account_withholding_automatic/models/account_payment_group.py#L90 (en método compute_withholdings) que hace un search de impuestos llega con dicho contexto y se terminan buscando impuestos que están archivados lo cual no queremos que suceda porque se terminan calculando retenciones de impuestos archivados y además crea registros de account partner tax con alícuotas en los contactos porque además hace conexión con agip, etc y eso hace que se creen registros con alícuotas en los contactos. Para solucionar la urgencia en dichos tickets lo que se hizo fue establecer "Ninguna" en el campo "Tipo" (withholding_type) de aquellos impuestos de retención que tenían establecido "Alícuota en el partner", de esa manera hace que no se calculen retenciones que no corresponden.

Hice este kpi (346) "v16 #H-106338-106105-107058 impuestos archivados con campo withholding_type = 'partner_tax'" en el cual se puede ver en que bases hay impuestos inactivos que tienen el campo "withholding_type = 'partner_tax'" y que pueden tener el bug que haga que se calculen retenciones que no corresponden. También hice los prs odoo/odoo#240659 y #851 para solucionar el problema pero el pr de odoo da conflicto al agregarlo en una base de test y no se por que entonces lo que hice fue hacer este pr para solucionar el problema de manera definitiva que es el objetivo de este ticket.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants