Skip to Content

Base Report to Label Printer - Improvements

Se stampi etichette direttamente verso una stampante CUPS da Odoo, il browser continua a scaricare inutilmente un file di testo a ogni stampa. Questo modulo elimina il file e mostra solo una notifica "Inviato in stampa", esattamente come avviene per i report PDF.

A chi è rivolto

Team logistica, magazzino e retail che stampano etichette ZPL/EPL o ricevute testuali direttamente su stampanti di rete e vogliono la stessa esperienza one-click già disponibile per i report PDF.

Come funziona

  • Rileva i report di testo configurati per la stampa diretta su server.
  • Invia il documento alla stampante in un'unica richiesta.
  • Sopprime il download dal browser, niente file inutili sul disco.
  • In caso di errore stampante, mostra una notifica con pulsante di fallback per il download.

Il risultato: una sola stampa, niente download, nessun attrito per l'operatore.

0.00 € 0.00 €

 Per maggiori info sui nostri moduli non esitare a contattarci

Base Report to Label Printer - Improvements

Invia i report qweb-text in stampa senza che il browser scarichi il file.

Il problema

Il modulo OCA base_report_to_printer include un handler lato client che intercetta l'azione di stampa solo per i report qweb-pdf. Per i report qweb-text (in genere etichette ZPL/EPL) l'handler non interviene, quindi l'action manager di Odoo torna al comportamento di default e fa partire il download del file di testo nel browser.

Lato server, l'override su _render_qweb_text invia comunque il documento alla stampante CUPS — quindi l'etichetta viene stampata — ma all'utente resta un .txt inutile nella cartella download.

La soluzione

Questo modulo registra un secondo handler nella registry ir.actions.report handlers, dedicato ai report qweb-text. Affianca quello upstream senza sostituirlo.

Handler Filtro report_type Origine
cups_report_action_handler qweb-pdf OCA base_report_to_printer
cups_text_report_action_handler qweb-text questo modulo

Flusso

  1. L'handler chiama print_document_client_action su ir.actions.report; il server renderizza il documento con must_skip_send_to_printer=True per evitare la doppia stampa nell'override OCA di _render_qweb_text, poi lo invia a CUPS una sola volta.
  2. In caso di successo l'utente vede il toast standard "Inviato in stampa" e l'handler restituisce true, impedendo il download di default.
  3. In caso di errore stampante, viene mostrata la stessa notifica sticky usata per i report PDF, con un pulsante Stampa che funge da fallback al download.

Compatibility

  • Odoo 18.0
  • Dipende da base_report_to_label_printer (transitivamente da base_report_to_printer).
  • Nessun override Python, nessun nuovo modello, nessuna vista: solo una patch client-side.

Uso

Nessuna configurazione necessaria. Ogni report qweb-text con Default Behaviour impostato su "Send to printer" verrà inviato alla stampante configurata senza scaricare alcun file. Configurazione consigliata per etichette ZPL/EPL: impostare Send to printer e una stampante di default sul report, e configurare Default Label Printer per ogni utente.

Changelog

Version Note
18.0.1.0.0 Prima release.

Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>