Skip to content

[FIX] stock_voucher_ux: assign voucher numbers on substituted aeroo remito#974

Open
les-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-122524-les
Open

[FIX] stock_voucher_ux: assign voucher numbers on substituted aeroo remito#974
les-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-122524-les

Conversation

@les-adhoc

@les-adhoc les-adhoc commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Problema

En talonarios preimpresos (autoprinted=False) los números de remito se asignan al imprimir, desde el controller report_download (stock_voucher_ux/controllers/main.py, rama aeroo).

Cuando el reporte de remito es reemplazado por report_substitute por un reporte aeroo cuyo report_name no contiene el literal remito (p. ej. un aeroo_report_ar_picking custom), la condición type == "aeroo" and "remito" in url nunca era verdadera, por lo que assign_numbers no corría y el remito quedaba sin numerar. Eso bloquea, entre otras cosas, la obtención del COT de ARBA, que exige un voucher asignado (l10n_ar_stock levanta "No se asignó número de remito").

Cambio

  • Se gatea la rama aeroo por la presencia del contexto serializado en la URL (context=) en vez del report_name. El alcance real ya lo garantiza el flag assign del contexto (solo lo setea do_print_and_assign) más que el picking tenga talonario, así que cubre cualquier reporte aeroo sustituido sin depender de su nombre.
  • Se normaliza active_ids a un recordset y se acota a impresión de un único picking (len(picking) == 1) antes de acceder a book_id / assign_numbers, evitando un Expected singleton en impresiones multi-picking. El batch queda a cargo de stock_batch_picking_voucher.
  • Se unifican los guards redundantes y el cómputo de páginas.

Test plan

  • Talonario preimpreso (autoprinted=False) con una regla de report_substitute que reemplaza el remito por un reporte aeroo, en un picking de salida en estado done sin voucher asignado.
  • Imprimir con el botón "Imprimir Remitos" (do_print_and_assign, que setea assign=True).
  • Antes: el PDF se descarga pero voucher_ids queda vacío.
  • Después: se asigna el voucher según las páginas reales del reporte y voucher_ids queda poblado; el COT puede obtenerse.

Ticket: https://www.adhoc.inc/odoo/action-helpdesk.helpdesk_ticket_action_main/122524

@roboadhoc

Copy link
Copy Markdown
Collaborator

Pull request status dashboard

@les-adhoc
les-adhoc force-pushed the 18.0-h-122524-les branch from 7301155 to 34b84d8 Compare July 10, 2026 19:34
@les-adhoc les-adhoc changed the title [FIX] stock_voucher_ux: parse picking id ignoring report URL query string [FIX] stock_voucher_ux: assign voucher numbers on substituted aeroo remito Jul 10, 2026
…emito

For preprinted books (autoprinted=False) voucher numbers are assigned at
print time from the report_download controller. When the delivery report
is swapped by report_substitute for an aeroo report whose name does not
contain the literal "remito" (e.g. a custom "aeroo_report_ar_picking"),
the aeroo branch condition `type == "aeroo" and "remito" in url` was never
true, so assign_numbers never ran and the delivery guide stayed unnumbered
(blocking, for instance, the ARBA COT request which requires an assigned
voucher).

Gate the aeroo branch on the presence of the serialized context in the URL
instead of the report name. The real scope is already enforced downstream
by the `assign` context flag (only set by do_print_and_assign) plus the
picking having a book, so this covers any substituted aeroo delivery
report without relying on its name.
@les-adhoc
les-adhoc force-pushed the 18.0-h-122524-les branch from 34b84d8 to 2697610 Compare July 13, 2026 19:24
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