Skip to content

Comments

[IMP] l10n_latam_check_ux: Moved checks to date report from l10n_ar_a…#813

Open
feg-adhoc wants to merge 1 commit intoingadhoc:18.0from
adhoc-dev:18.0-t-53652-feg
Open

[IMP] l10n_latam_check_ux: Moved checks to date report from l10n_ar_a…#813
feg-adhoc wants to merge 1 commit intoingadhoc:18.0from
adhoc-dev:18.0-t-53652-feg

Conversation

@feg-adhoc
Copy link
Contributor

…ccount_reports

Copilot AI review requested due to automatic review settings October 30, 2025 12:20
@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 agrega un nuevo wizard y reporte para generar un listado de cheques pendientes a una fecha determinada en Odoo. La funcionalidad permite filtrar por diario y genera un PDF con dos secciones: cheques propios emitidos y cheques de terceros en mano.

  • Implementa wizard account.check.to_date.report.wizard con consultas SQL complejas para determinar estado de cheques
  • Agrega template de reporte QWeb-PDF con formato tabular para visualización de cheques
  • Incluye menú de acceso en reportes financieros con permisos para usuarios de facturación

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
l10n_latam_check_ux/wizards/checks_to_date_report.py Nuevo wizard transient con lógica de consulta SQL para filtrar cheques propios y de terceros según fecha y diario
l10n_latam_check_ux/wizards/checks_to_date_view.xml Vista formulario del wizard con campos de fecha y diario, y menú en reportes financieros
l10n_latam_check_ux/wizards/__init__.py Importa el nuevo módulo de wizard
l10n_latam_check_ux/security/ir.model.access.csv Agrega permisos de acceso para el nuevo modelo wizard
l10n_latam_check_ux/reports/report_checks_to_date.xml Template QWeb para renderizar PDF con tablas de cheques propios y de terceros
l10n_latam_check_ux/__manifest__.py Registra archivos XML del wizard y reporte en el manifest
Comments suppressed due to low confidence (2)

l10n_latam_check_ux/manifest.py:22

  • Falta bump de versión en el manifest. Este PR agrega un nuevo modelo (account.check.to_date.report.wizard), vistas XML, seguridad y reportes. La versión debería incrementarse (por ejemplo, de 18.0.2.1.0 a 18.0.2.2.0).
    "version": "18.0.2.2.0",

l10n_latam_check_ux/wizards/checks_to_date_report.py:30

  • Variable force_domain is not used.
        force_domain = self.journal_id and [("journal_id", "=", self.journal_id.id)] or []


def action_confirm(self):
self.ensure_one()
force_domain = self.journal_id and [("journal_id", "=", self.journal_id.id)] or []
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

La variable force_domain se define pero nunca se utiliza en el método. Debería eliminarse si no es necesaria.

Suggested change
force_domain = self.journal_id and [("journal_id", "=", self.journal_id.id)] or []

Copilot uses AI. Check for mistakes.
hacemos una query que:
* toma todos los pagos correspondientes a un cheque
* dentro de esos pagos filtramos por los que no tengan matched_debit_ids
* dentro de account.full.reconcile buscar todas las que tengas asocido un pago que corresponda a un cheque, una vez filtrado,
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Error ortográfico: 'asocido' debería ser 'asociado'.

Suggested change
* dentro de account.full.reconcile buscar todas las que tengas asocido un pago que corresponda a un cheque, una vez filtrado,
* dentro de account.full.reconcile buscar todas las que tengas asociado un pago que corresponda a un cheque, una vez filtrado,

Copilot uses AI. Check for mistakes.
* toma todos los pagos correspondientes a un cheque
* dentro de esos pagos filtramos por los que no tengan matched_debit_ids
* dentro de account.full.reconcile buscar todas las que tengas asocido un pago que corresponda a un cheque, una vez filtrado,
* obtener la otra linea de ese full reconcile ya que esta corresponde a la conciliacion hecha en el date determinado
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Faltan tildes: 'linea' debería ser 'línea', 'esta' debería ser 'ésta', y 'conciliacion' debería ser 'conciliación'.

Suggested change
* obtener la otra linea de ese full reconcile ya que esta corresponde a la conciliacion hecha en el date determinado
* obtener la otra línea de ese full reconcile ya que ésta corresponde a la conciliación hecha en el date determinado

Copilot uses AI. Check for mistakes.
* dentro de esos pagos filtramos por los que no tengan matched_debit_ids
* dentro de account.full.reconcile buscar todas las que tengas asocido un pago que corresponda a un cheque, una vez filtrado,
* obtener la otra linea de ese full reconcile ya que esta corresponde a la conciliacion hecha en el date determinado
* entonces lo que filtramos finalmente sera, los cheques aun no fueron debitados y sean de fecha anterior a la dada o los que tiene debito luego de la fecha dada
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Faltan tildes: 'sera' debería ser 'será', 'aun' debería ser 'aún', y 'debito' debería ser 'débito'.

Suggested change
* entonces lo que filtramos finalmente sera, los cheques aun no fueron debitados y sean de fecha anterior a la dada o los que tiene debito luego de la fecha dada
* entonces lo que filtramos finalmente será, los cheques aún no fueron debitados y sean de fecha anterior a la dada o los que tiene débito luego de la fecha dada

Copilot uses AI. Check for mistakes.
""")

self.env.cr.execute("DROP TABLE IF EXISTS t2;")
# De la última operación de cada cheque filtramos los cheques cuya última operacioń no es manual (es decir, no
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Error ortográfico: 'operacioń' debería ser 'operación' (la tilde está en la posición incorrecta).

Suggested change
# De la última operación de cada cheque filtramos los cheques cuya última operacioń no es manual (es decir, no
# De la última operación de cada cheque filtramos los cheques cuya última operación no es manual (es decir, no

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +115
<field name="report_name">l10n_ar_account_reports.checks_to_date</field>
<field name="report_file">l10n_ar_account_reports.checks_to_date</field>
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Los campos report_name y report_file referencian el módulo incorrecto l10n_ar_account_reports. Deberían referenciar l10n_latam_check_ux.checks_to_date para ser consistentes con el módulo actual donde se define el template (línea 4 del mismo archivo).

Suggested change
<field name="report_name">l10n_ar_account_reports.checks_to_date</field>
<field name="report_file">l10n_ar_account_reports.checks_to_date</field>
<field name="report_name">l10n_latam_check_ux.checks_to_date</field>
<field name="report_file">l10n_latam_check_ux.checks_to_date</field>

Copilot uses AI. Check for mistakes.
Comment on lines +47 to +56
<div>
<td colspan="1">
<strong>
<span>Total</span>
</strong>
</td>
<td class="text-end" colspan="6">
<span t-esc="total_issue" style="font-size: 15px" t-options='{"widget": "monetary", "display_currency": tcheck.currency_id}'/>
</td>
</div>
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Estructura HTML inválida: los elementos <td> están envueltos en un <div> dentro de una tabla. Debería ser una fila <tr> con celdas <td>, no un <div>. Cambiar <div> por <tr> en las líneas 47 y 56.

Copilot uses AI. Check for mistakes.
Comment on lines +93 to +102
<div>
<td>
<strong>
<span>Total</span>
</strong>
</td>
<td class="text-end" colspan="6">
<span t-esc="total" style="font-size: 15px" t-options='{"widget": "monetary", "display_currency": tcheck.currency_id}'/>
</td>
</div>
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

Estructura HTML inválida: los elementos <td> están envueltos en un <div> dentro de una tabla. Debería ser una fila <tr> con celdas <td>, no un <div>. Cambiar <div> por <tr> en las líneas 93 y 102.

Copilot uses AI. Check for mistakes.
Diario: <span t-esc="docs.env['account.journal'].browse(docs.journal_id.id).name"/>
</t>
<div class="page">
<t t-if="docs._get_checks_handed(docs.journal_id.id, docs.to_date)">
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

La llamada docs._get_checks_handed(docs.journal_id.id, docs.to_date) se ejecuta dos veces: en la condición (línea 13) y en el t-foreach (línea 28). Esto duplica la ejecución de consultas SQL costosas. Recomiendo usar t-set para almacenar el resultado y reutilizarlo.

Copilot uses AI. Check for mistakes.
</table>
<br/>
</t>
<t t-if="docs._get_checks_on_hand(docs.journal_id.id, docs.to_date)">
Copy link

Copilot AI Oct 30, 2025

Choose a reason for hiding this comment

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

La llamada docs._get_checks_on_hand(docs.journal_id.id, docs.to_date) se ejecuta dos veces: en la condición (línea 60) y en el t-foreach (línea 74). Esto duplica la ejecución de consultas SQL costosas. Recomiendo usar t-set para almacenar el resultado y reutilizarlo.

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.

2 participants