.. _widgetpedia/genro/components/document_frame:
documentFrame
=============
Il widget documentFrame permette di costruire un frame con all'interno un documento in pdf o html, generato direttamente partendo da una risorsa di stampa o un template dell'applicativo.
.. raw:: html
La sintassi del documentFrame è la seguente::
frame.documentFrame(resource='fatt.fattura:html_res/mia_fattura',
pkey='^#FORM.pkey',
html=True,
letterhead_id='^.curr_letterhead_id',
missingContent='NO FATTURA',
_if='pkey', _delay=100)
Verrà così generata la stampa del documento relativo al record selezionato, utilizzando come `carta intestata `_ la ``letterhead_id`` presente al path indicato e la ``resource`` specificata. Il frame verrà però caricato solo se presente la ``pkey``, e con un ritardo di 100 millisecondi (questo per consentire alla pagina di caricarsi correttamente). Se non sarà possibile effettuare la stampa verrà mostrato il ``missingContent``, alternativamente ne verrà mostrato il contenuto in ``html``.
Sarà quindi necessario definire una `risorsa di stampa `_, che potrà essere sfruttata per modificare il layout della stampa o i record oggetto della stampa, o anche solo specificare a sua volta un template da utilizzare. In questo secondo caso la risorsa sarebbe limitata a queste poche righe di codice::
from gnr.web.gnrbaseclasses import TableScriptToHtml
class Main(TableScriptToHtml):
record_template = 'fattura_template'
ovvero a indicare il ``record_template`` da utilizzare.
Si noti che il documento così generato non sarà salvato nella cache, bensi verrà effettivamente rigenerato ogni volta che si attiverà l'area designata, o al caricamento della pagina.
.. raw:: html
**Parametri:**
+------------------------+------+--------------------------------------------------+
| Nome parametro | Tipo | Descrizione |
+========================+======+==================================================+
|resource |T |Permette di indicare il percorso della risorsa da |
| | |utilizzare per la stampa (es: |
| | |fatt.fattura:html_res/fattura_template) |
+------------------------+------+--------------------------------------------------+
|pkey |T |Permette di indicare la pkey o il path (es: |
| | |pkey='^#FORM.pkey') |
+------------------------+------+--------------------------------------------------+
|html |T |Se True, verrà mostrato l'html della risorsa |
| | |stampata, altrimenti il pdf. |
+------------------------+------+--------------------------------------------------+
|letterhead_id |T |Permette di indicare la carta intestata da |
| | |utilizzare o il suo path (es: |
| | |letterhead_id='^.curr_letterhead_id') |
+------------------------+------+--------------------------------------------------+
|missingContent |T |Permette di indicare un testo da mostrare se la |
| | |stampa non è presente (es: missingContent='NO |
| | |FATTURA') |
+------------------------+------+--------------------------------------------------+
|_if |T |Permette di indicare un parametro sulla base della|
| | |cui esistenza innescare o meno la generazione del |
| | |documento (es: _if='pkey') |
+------------------------+------+--------------------------------------------------+
|_delay |L |Permette di indicare un ritardo in millisecondi |
| | |(es: _delay=100) |
+------------------------+------+--------------------------------------------------+
.. sectionauthor:: Davide Paci