Skip to content

[FIX] l10n_ar_tax: patch context to use active_test=True#1259

Open
jjscarafia wants to merge 1 commit intoingadhoc:19.0from
adhoc-dev:19.0-t-61951-jjs
Open

[FIX] l10n_ar_tax: patch context to use active_test=True#1259
jjscarafia wants to merge 1 commit intoingadhoc:19.0from
adhoc-dev:19.0-t-61951-jjs

Conversation

@jjscarafia
Copy link
Copy Markdown
Member

Todavia no entendemos porque, pero a este metodo le llega un active_test=False y lo termina propagando a otros computed. Haciendo que por ejemplo: a) se encuentran fiscal positions archivadas
b) taxes archivados

Por ahora forzamos contexto con active_test=True

Todavia no entendemos porque, pero a este metodo le llega un active_test=False y lo termina propagando a otros computed. Haciendo que por ejemplo:
a) se encuentran fiscal positions archivadas
b) taxes archivados

Por ahora forzamos contexto con active_test=True
Copilot AI review requested due to automatic review settings December 22, 2025 21:02
@roboadhoc
Copy link
Copy Markdown
Contributor

Pull request status dashboard

Copy link
Copy Markdown

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 aplica un parche para forzar active_test=True en el contexto del método _compute_l10n_ar_withholding_line_ids para evitar que se propaguen registros archivados (posiciones fiscales y taxes) a campos computados. Se elimina también un active_test=True redundante de otro método que ya no era necesario.

  • Se fuerza active_test=True en el bucle de _compute_l10n_ar_withholding_line_ids para evitar que registros archivados contaminen el cómputo de retenciones
  • Se elimina el active_test=True de _compute_fiscal_position_id que ya no era necesario

Comment on lines +312 to +313
# no entiendo porque pero acá viene un active_test=False que se termina propagando a computed fields que
# también dependan de partner_id, por ahora forzamos active_test=True para que aguas arriba todo se compute bien
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

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

El comentario indica "no entiendo porque" y "por ahora forzamos". Este enfoque temporal puede causar problemas de mantenibilidad a largo plazo. Se recomienda investigar la causa raíz del active_test=False que llega al contexto (posiblemente desde dependencias del ORM o triggers de campos relacionados) para aplicar una solución definitiva en lugar de este parche. Considerar agregar un task o TODO con referencia para investigar esto más adelante.

Copilot generated this review using guidance from repository custom instructions.
# también dependan de partner_id, por ahora forzamos active_test=True para que aguas arriba todo se compute bien
# metodo completamente analogo a payment.register._compute_l10n_ar_withholding_ids
for rec in self.filtered(lambda x: x.partner_type == "supplier"):
for rec in self.with_context(active_test=True).filtered(lambda x: x.partner_type == "supplier"):
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

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

Inconsistencia en el manejo de active_test: en _compute_fiscal_position_id (línea 58) se eliminó el active_test=True del contexto, pero en _compute_l10n_ar_withholding_line_ids (línea 315) se agrega. Ambos métodos interactúan con account.fiscal.position y pueden invocar a _get_fiscal_position. Esta inconsistencia podría causar comportamiento diferente entre los dos métodos compute. Se recomienda aplicar la misma estrategia en ambos lugares o documentar por qué un método necesita el parche y el otro no.

Copilot uses AI. Check for mistakes.

@api.depends("l10n_ar_fiscal_position_id", "partner_id", "company_id", "date")
def _compute_l10n_ar_withholding_line_ids(self):
# no entiendo porque pero acá viene un active_test=False que se termina propagando a computed fields que
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

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

Typo en el comentario: "porque" debería ser "por qué" (con tilde y separado) cuando se formula una pregunta indirecta. También falta tilde en "acá" → "acá".

Suggested change
# no entiendo porque pero acá viene un active_test=False que se termina propagando a computed fields que
# no entiendo por qué pero acá viene un active_test=False que se termina propagando a computed fields que

Copilot uses AI. Check for mistakes.
def _compute_l10n_ar_withholding_line_ids(self):
# no entiendo porque pero acá viene un active_test=False que se termina propagando a computed fields que
# también dependan de partner_id, por ahora forzamos active_test=True para que aguas arriba todo se compute bien
# metodo completamente analogo a payment.register._compute_l10n_ar_withholding_ids
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

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

El comentario menciona que el método es "completamente analogo" a payment.register._compute_l10n_ar_withholding_ids, pero revisando el wizard account_payment_register.py, el método _compute_l10n_ar_withholding_ids NO aplica el parche de with_context(active_test=True) en su bucle. Esto crea una inconsistencia entre ambos métodos que se supone son análogos. Se recomienda verificar si el wizard también necesita el parche o si el comentario sobre la analogía es inexacto.

Suggested change
# metodo completamente analogo a payment.register._compute_l10n_ar_withholding_ids
# método basado en payment.register._compute_l10n_ar_withholding_ids, con este parche extra de active_test

Copilot uses AI. Check for mistakes.
def _compute_l10n_ar_withholding_line_ids(self):
# no entiendo porque pero acá viene un active_test=False que se termina propagando a computed fields que
# también dependan de partner_id, por ahora forzamos active_test=True para que aguas arriba todo se compute bien
# metodo completamente analogo a payment.register._compute_l10n_ar_withholding_ids
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

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

Typo ortográfico: "analogo" debe llevar tilde → "análogo".

Suggested change
# metodo completamente analogo a payment.register._compute_l10n_ar_withholding_ids
# método completamente análogo a payment.register._compute_l10n_ar_withholding_ids

Copilot uses AI. Check for mistakes.
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.

3 participants