.. _le_stampe/stampe_genropy/stampe_risorsa/esempi_stampa/stampa_righe_1: Stampa righe 1: Fatture ======================= Supponiamo di voler stampare una serie di documenti contenenti vari elementi di un singolo record. In quest'esempio vedremo come definire la risorsa di stampa relativa alle **Fatture**. La stampa verrà lanciata dalla tabella *Fattura* del progetto `Sandbox `_. In particolare, questo esempio ci permetterà di vedere come stampare **una pagina per ogni record** della sola *selezione dei dati*. Definizione della print action ------------------------------ Per prima cosa andiamo a definire la :ref:`risorsa print` che chiamiamo *stampa_fatture.py* all'interno della cartella ``resources/tables/fattura/print``, esattamente come abbiamo fatto nella :ref:`Stampa con griglia 1: Fatturato per esercizio` . Questo specifico caso non prevedrà l'inserimento di parametri, essendo il nostro unico interesse quello di stampare la *selezione* dei record effettuata dall'utente. Non sarà quindi presente nella risorsa alcun metodo ``table_script_parameters_pane``. Si noti che così facendo verrà infatti mostrata direttamente la finestra di dialogo con le impostazioni generiche della stampa. Definizione della risorsa html_res ---------------------------------- Passiamo a questo punto alla definizione della :ref:`risorsa html_res` che chiamiamo *mia_fattura.py* all'interno della cartella ``resources/tables/fattura/html_res``. Rimandiamo alla :ref:`Stampa con griglia 1: Fatturato per esercizio` per la trattazione della definizione dei parametri della classe *Main*, dei metodi ``defineCustomStyles``, ``docHeader``, ``docFooter`` e ``outputDocName``, che non variano in questo caso in modo significativo. Si noti che in questo caso non specificheremo alcuna ``row_table``, ma solo un ``maintable='fatt.fattura'``: questo ci permetterà di non dover specificare condizioni ulteriori ma di utilizzare la *selezione corrente*. Nel metodo ``gridQueryParameters`` impostiamo qui la sola condizione relativa alla relazione con le ``righe``:: def gridQueryParameters(self): return dict(relation='@righe') Il sistema "catturerà" automaticamente la selezione effettuata dall'utente (le cui pkeys si ricorda saranno disponibili in ``self.record``) e seguendo la relazione stamperà il contenuto delle singole fatture. .. raw:: html
Puoi provare la stampa direttamente su `Sandbox `_, oppure scaricare i file di stampa qui di seguito. .. raw:: html
**Allegati:** - `mia_fattura `_ - `stampa_fatture `_