[FIX] stock_voucher_ux: asignar números de remito antes de imprimir#941
Closed
mav-adhoc wants to merge 5 commits into
Closed
[FIX] stock_voucher_ux: asignar números de remito antes de imprimir#941mav-adhoc wants to merge 5 commits into
mav-adhoc wants to merge 5 commits into
Conversation
Collaborator
1b153b9 to
0a58718
Compare
0a58718 to
3233b43
Compare
Al imprimir desde do_print_and_assign con autoprinted=False, los números se asignaban luego de generar el PDF (en el controller), lo que causaba que la primera impresión saliera sin número. Ahora se asignan antes usando get_estimated_number_of_pages(), igual que el flujo de autoprinted=True.
…nted=False Al contar páginas del PDF real (en el controller) para asignar la cantidad correcta de números de remito, el PDF ya estaba generado sin ellos. Ahora, después de assign_numbers, se regenera el PDF para que los números aparezcan en la primera impresión. Revierte el enfoque de pre-asignación basado en get_estimated_number_of_pages() que fallaba cuando lines_per_voucher=0 (siempre asignaba 1).
…mito El report_ref 'stock.report_deliveryslip' resuelve a un ir.ui.view (template QWeb) en vez del ir.actions.report, fallando silenciosamente. Usar 'stock.action_report_delivery' que es el XML ID correcto del action. Además se elimina el except que ocultaba el error.
…remito El campo vouchers (store=True computed) tenía valor correcto en el cache ORM pero _render_qweb_pdf crea un nuevo environment que lee desde DB, donde el write todavía estaba pendiente (diferido). flush_all() fuerza la escritura antes de renderizar.
…-printed) stock_voucher: get_estimated_number_of_pages usa move_line_ids en lugar de move_ids, consistente con el wizard. Esto estima correctamente cuando hay varios lotes por producto que generan más líneas en el PDF. stock_voucher_ux: do_print_and_assign asigna números ANTES de llamar a do_print_voucher para autoprinted=False, garantizando que el primer PDF ya tenga los números. El controller queda como fallback (sin regeneración) para rutas de impresión que no pasen por este método.
3233b43 to
c46207d
Compare
Contributor
|
@roboadhoc r+ nobump |
Collaborator
|
@mav-adhoc @les-adhoc because this PR has multiple commits, I need to know how to merge it:
|
Contributor
|
@roboadhoc r+ nobump rebase-ff |
Collaborator
|
This PR is already reviewed, reviewing it again is useless. |
Collaborator
|
Merge method set to rebase and fast-forward. |
roboadhoc
pushed a commit
that referenced
this pull request
Jun 16, 2026
Al imprimir desde do_print_and_assign con autoprinted=False, los números se asignaban luego de generar el PDF (en el controller), lo que causaba que la primera impresión saliera sin número. Ahora se asignan antes usando get_estimated_number_of_pages(), igual que el flujo de autoprinted=True. Part-of: #941 Signed-off-by: Luciano Esperlazza <les@adhoc.inc>
roboadhoc
pushed a commit
that referenced
this pull request
Jun 16, 2026
…nted=False Al contar páginas del PDF real (en el controller) para asignar la cantidad correcta de números de remito, el PDF ya estaba generado sin ellos. Ahora, después de assign_numbers, se regenera el PDF para que los números aparezcan en la primera impresión. Revierte el enfoque de pre-asignación basado en get_estimated_number_of_pages() que fallaba cuando lines_per_voucher=0 (siempre asignaba 1). Part-of: #941 Signed-off-by: Luciano Esperlazza <les@adhoc.inc>
roboadhoc
pushed a commit
that referenced
this pull request
Jun 16, 2026
…mito El report_ref 'stock.report_deliveryslip' resuelve a un ir.ui.view (template QWeb) en vez del ir.actions.report, fallando silenciosamente. Usar 'stock.action_report_delivery' que es el XML ID correcto del action. Además se elimina el except que ocultaba el error. Part-of: #941 Signed-off-by: Luciano Esperlazza <les@adhoc.inc>
roboadhoc
pushed a commit
that referenced
this pull request
Jun 16, 2026
…remito El campo vouchers (store=True computed) tenía valor correcto en el cache ORM pero _render_qweb_pdf crea un nuevo environment que lee desde DB, donde el write todavía estaba pendiente (diferido). flush_all() fuerza la escritura antes de renderizar. Part-of: #941 Signed-off-by: Luciano Esperlazza <les@adhoc.inc>
roboadhoc
pushed a commit
that referenced
this pull request
Jun 16, 2026
…-printed) stock_voucher: get_estimated_number_of_pages usa move_line_ids en lugar de move_ids, consistente con el wizard. Esto estima correctamente cuando hay varios lotes por producto que generan más líneas en el PDF. stock_voucher_ux: do_print_and_assign asigna números ANTES de llamar a do_print_voucher para autoprinted=False, garantizando que el primer PDF ya tenga los números. El controller queda como fallback (sin regeneración) para rutas de impresión que no pasen por este método. closes #941 Signed-off-by: Luciano Esperlazza <les@adhoc.inc>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Problema
Al usar el botón Print Vouchers en un remito con
autoprinted=False(formulario pre-impreso), los números de remito se asignaban después de generar el PDF (en el controller HTTP), por lo que la primera impresión salía sin número. El usuario tenía que imprimir dos veces.Solución
En
do_print_and_assign, para el casoautoprinted=False, se llamaassign_numbers(get_estimated_number_of_pages(), book_id)antes de invocardo_print_voucher(), igual que el flujo deautoprinted=True.El controller conserva la guarda
if not voucher_idsque evita doble asignación cuando ya fueron pre-asignados.Task
https://www.adhoc.inc/odoo/knowledge/180/902/tasks/67613