Indice
Redazione dei Testi DOCX
Tramite la funzione “Documenti Base”, disponibile nel menù Amministrazione del Sistema > Gestione Modelli Documenti > Documenti Base , è possibile personalizzare i modelli dei testi DOCX. Questo menù è solitamente riservato al fornitore, quindi non visibile dagli utenti “base”. Qualora si voglia dare a un utente la possibilità di personalizzare i testi (previa opportuna formazione) andrà abilitato alla visualizzazione di questo punto di menu.
Il testo di tipo DOCX, utilizza il formato open previsto da Microsoft. E' quindi utilizzabile (con piccole differenze dovute all'editor) sia con Word, che con Openoffice, che Libreoffice. In CWOL utilizziamo Onlyoffice che permette la modifica del testo direttamente da browser.
Per il parsing del testo, viene utilizzato Smarty, motore di template in grado di costruire dinamicamente docx e/o pagine html.
Font redazione testo
Il font utilizzato per la redazione del testo è Arial, dimensione 10
Nome testo, Classificazioni e Funzioni
Quando si crea un nuovo template docx, è necessario associare un nome (suffisso cwd_ + nome testo), una descrizione che identifica il testo, una classificazione che può essere Anagrafe, Elettorale o Stato Civile, il tipo che è Docx e una funzione che identifica la tipologia del testo (Certificato, comunicazione ecc..)
Lista guida
Il caricamento dei dati avviene tramite il richiamo di una lista guida mediante ciclo while definita nel programma chiamante:
Per i tributi, i suffissi a disposizione sono tre:
* DOCUMENTI CONTRIBUENTE: $DOC_TRI * CONTRIBUENTE: $CONTR * PROVVEDIMENTO IMU: $TICPRV
☝ Non è possibile indicare un suffisso differente da quello dell'area di competenza in quanto il testo non funzionerebbe.
esempio sintassi scrittura lista guida: @{while $DOC_TRI->readRecord()}@ ... CORPOTESTO ... @{/while}@
Variabili
la sintassi delle variabili semplici è la seguente: @{$SUFFISSO LISTA + nome variabile}@
Le variabili che vanno a stampare i dati contenuti nella lista guida principale, avranno lo stesso suffisso di quest'ultima.
Esse possono essere riportate con tre diverse sintassi ma l'output non cambia. (☝ E' però fortemente consigliata la prima metodologia contratta di scrittura.)
Esempio: * @{$CONTR::contr_nominativo}@ * @{$CONTR->campo('contr_nominativo')}@
Le variabili possono essere scritte manualmente oppure possono essere richiamate dal plugin accessibile dal menu Plugin > Dizionario.
- GUIDA: si trovano tutte le variabili suddivise per area
- BASE: sono variabili generiche precaricate, indipendenti dalla lista guida principale utilizzata. Possono essere inserite sia all'interno che al di fuori del ciclo.
- INCLUDE: possono essere aggiunti come intestazione o come piè di pagina per stampare blocchi di testo utilizzabili per più testi, come a esempio l'intestazione di un comune con logo.
☝ Quando si sceglie una variabile dal dizionario, prestare sempre attenzione al suffisso poiché quello proposto non è detto sia adeguato ai dati che sto stampando.
Esempio: si sta predisponendo un estratto di nascita e si ha la necessità di stampare l'indirizzo. Se si cerca la variabile nel dizionario, essa verrà proposta con il suffisso $CONTRIB @{$CONTIRB::indirizzo}@
Variabili particolari con passaggio parametro
Ci sono variabili come quelle delle diciture che richiedono il passaggio di parametri.
Esempio: @{$AVV_DETT::avv_info_valore(1005)}@
Cicli per caricare dati aggiuntivi
E' possibile che durante la stesura di un testo si abbia la necessità di stampare dei dati in più rispetto a quelli presenti nella lista guida principale. Oltre al while è possibile sfruttare anche il foreach per elaborare i dati.
Esempio Certificato di famiglia del soggetto X:
Nel testo si avrà: - un primo ciclo while che va a caricare i dati del soggetto principale: @{while $AVV->readRecord()}@ - un secondo ciclo while che va a caricare i dati dei familiari @{$AVV_DETT = $AVV->listaGuida('AVV_DETTAGLIO')}@ @{while $AVV_DETT->readRecord()}@ @{$AVV_DETT::avv_dett_datainizio}@ .... @{/while} @{/while}
☝ Come si può vedere dall'esempio, le variabili stampate all'interno del secondo ciclo hanno come suffisso $AVV_DETT. Il suffisso $AVV_DETT assegnato è un codice parlante ma in questo caso lo si può chiamare come si preferisce. L'importante è che non sia un nome lungo in quanto la risoluzione del testo occupa lo spazio delle variabili scritte.
Condizioni
E' possibile operare sulle variabili sfruttando anche l'istruzione if.
Esempio: @{if $j != 3}@ $j è diverso da 3 @{else}@ $j è uguale a 3 @{/if}@
Per approfondire gli operatori da utilizzare nell'istruzione, guardare il link di riferimento Condizioni e operatori Smarty
Formattazione delle variabili
Attraverso funzioni specifiche di Smarty possiamo impostare una formattazione sulla variabile. Possono essere consultate nello specifico consultando questo link Modificatori di variabili
Esempio formattazione variabile in maiuscolo: @{$BASE.MESE_CORRENTE_LETTERE|upper}@
Comandi speciali, salto pagina
Rottura pagina: @{$PAGE_BREAK}@
Filtri da associare al testo
E' possibile associare al testo dei filtri, dalla sezione Dati Aggiuntivi.
7 visualizzazioni.