ZPL Label Printer Routing
Routing stampante per etichetta e per utente per il modulo OCA printer_zpl2.
Il problema
Il modulo OCA printer_zpl2 mostra sempre un wizard che chiede sia la stampante sia l'etichetta a ogni stampa. Non esiste un concetto di stampante di default per etichetta, nessun override per utente, e nessuna integrazione con il default_label_printer_id già aggiunto da base_report_to_label_printer su res.users. Il resto della suite OCA gestisce il routing solo per i report standard, non per le etichette ZPL.
Funzionalità
| Campo | Tipo | Scopo |
|---|---|---|
default_printer_id | M2O printing.printer | Stampante di fallback quando nessuna regola utente corrisponde |
auto_print | Boolean | Abilita il flusso di bypass del wizard |
user_printer_ids | O2M | Override stampante per utente |
auto_print_action_id | M2O ir.actions.server | L'azione di stampa automatica generata, se creata |
Catena di risoluzione stampante
| Priorità | Origine |
|---|---|
| 1 | Riga di user_printer_ids con user_id = utente_corrente |
| 2 | default_printer_id sull'etichetta |
| 3 | res.users.default_label_printer_id (from base_report_to_label_printer) |
| 4 (fallback) | Wizard richiede selezione manuale |
Bypass stampa automatica
Quando Stampa automatica è attiva sull'etichetta, sul form compaiono due nuovi pulsanti: Aggiungi azione di stampa automatica e Rimuovi azione di stampa automatica. Il primo crea una ir.actions.server agganciata al modello dell'etichetta che, una volta lanciata, risolve la stampante tramite la catena e stampa l'etichetta direttamente, senza wizard.
Integrazione menu Stampa
L'azione di stampa automatica è creata con binding_type='report', e anche l'azione classica Stampa Etichetta è override per usare 'report'. Entrambe le voci finiscono nel menu Stampa del modello di destinazione, dove gli utenti le cercano naturalmente.
Compatibility
- Odoo 18.0
- Dipende da
printer_zpl2ebase_report_to_label_printer(base_report_to_printerè incluso transitivamente). - Niente JS, nessuna patch client-side: tutto server-side ORM e viste.
Changelog
| Version | Note |
|---|---|
| 18.0.1.0.0 | Prima release. |
Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>