Facebook Twitter Google+

AlfaWeb

Martedì, 19 Marzo 2013 16:02

AlfaWeb 1.1.1 - Nuove funzionalità alle stampe pdf

 

Con questo articolo analizzerò in modo più approfondito una tematica che tanti ci hanno chiesto:

Come posso utilizzare e personalizzare il componente delle stampe di AlfaWeb?

Per prima cosa dobbiamo "recuperare" quello che vogliamo stampare. Ad oggi AlfaWeb permette la stampa dei soli documenti (sia vendita che acquisto) ma non temere... altre stampe
sono in essere nei nostri "laboratori".

A parte gli scherzi devo fare una introduzione fondamentale: se vuoi stampare un documento devi controllare che sulla causale documento (la trovi in anagrafiche/causali/causali documenti) sia impostato il campo output (ultimo in basso) con l'id della stampa assegnata.

AlfaWeb stampa il documento (di acquisto e di vendita) solo se due condizioni fondamentali sono soddisfatte:
1. Ci sia impostata sulla causale la stampa appropriata.
2. Il documento da stampare deve contenere almeno una riga.

Adeguate le causali possiamo partire nell'analisi della stampa. Apriamo ad esempio la stampa di default rilasciata con AlfaWeb.

 

Template di stampa : Tab DEFINIZIONE TEMPLATE
Noterai per prima cosa i parametri di "testata" della stampa. Questi sono le caratteristiche base di ogni report.
I dati sono:

1. Descrizione
2. Visione intestazione (non ancora implementato. Le stampe stampano l'intestazione su TUTTE LE PAGINE)
3. Modulo abbinato (per il modulo base ci interessa solo il MODULO DOCUMENTI)
4. Visione piede (come per intestazione non ancora implementato)
5. Inizio Nome (per il nome del file pdf generato)
6. Formato : qui si definisce il formato della pagina di stampare. Troverai quelli più comuni. Dalla versione 1.1.1 abbiamo rilasciato un ulteriore formato (CUSTOM) che se abiliatato (selezionalo
e poi primi SALVA) abiliterà due ulteriori campi per specificare altezza e larghezza della stampa (in millimetri)
7. Orientazione : verticale o orizzontale
8. Margine superiore : area di stampa ( in centimetri ) per la testata
9. Margine sinistro : in centimetri
10. Margine destro : in centimetri
11. Margine Inferiore : area di stampa ( in centimetri ) per il piede documento
12. Testo Email : con la versione 1.1.1 potrete inviare la mail direttamente dal sito web al cliente/fornitore intestatario del documento. Questo testo è quello che viene aggiunto di default alla mail inviata dal sito

Per inviare la mail è necessario specificare nel campo Email che trovi sull'anagrafica cliente/fornitore (secondo tab chiamato COMMERCIALE) le mail di destinazione. Qualora avessi per un cliente più di una mail dovrai specificare tutte le mail nel campo (divise con il carattere ;)

Impostati tutti i campi di testata potrai aggiungere (una volta premuto SALVA) i 3 record fondamentali per la stampa ovvero TESTATA, CORPO e PIEDE documento e che analizzeremo in seguito.

Sulla testata ci sono due ulteriori schede (tab) :
1. PARAMETRI
2. SUB-REPORT (solo da AlfaWeb versione 1.1.1)

Template di stampa : Tab PARAMETRI
Nei parametri si specificheranno tutti i parametri filtro passati alla stampa per recuperare le informazioni sul record da stampare.
Ogni parametri dovrà essere univoco (come NOME) e il valore passato sarà sostituito dinamicamente alla query di TESTATA, CORPO, PIEDE e SUB-REPORT per recuperare le informazioni dal database.
Nella stampa di default avrai solo 1 parametro (di nome w_id) che contiene l'id del documento da stampare.

Template di stampa : tab SUB-REPORT
Per gli elementi di TESTATA e PIEDE è possibile "iniettare" dei sub-report per aggiungere elementi che con una banale query non è possibile gestire. I campi fondamentali di un SUB-REPORT sono:

1. identificatore: identifica unicamente il SUB-REPORT. Questo valore è quello che verrà sostituito all'atto dell'inserimento del sub-report sul report principale.
2. Select DB : query per estrapolazione dati dal database. La query può contenere i parametri passati per filtrare i dati nel modo corretto.
3. Html : Html di costruzione del sub-report. Questo sarà l'out-put del sub-report nella stampa.

TESTATA, CORPO e PIEDE
Come dicevo prima ci sono tre elementi che compongono una stampa. Due di questi sono Obbligatori (TESTATA e CORPO) mentre il terzo (PIEDE) è un elemento facoltativo.
Tutti e tre gli elementi ragionano nello stesso medesimo modo.
I campi da inserire sono:
1. Descrizione : breve descrizione
2. Select DB : query sul database per recuperare i dati da stampare
3. Grafica : Html che stabilisce la struttura del report.

Ora analizziamo la "tecnica" di creazione del layout. Innanzitutto ogni campo da stampare (se si vogliono stampare i valori dal databasse) va eseguito inserendo il campo tra il carattere $.
Se volessimo, ad esempio, stampare il campo della colla vn_codiva, la stringa da inserire all'interno dell'html è la seguente:

$vn_codiva$

La routine di stampa infatti sostituirà questa "etichetta" con i dati della colonna prelevati dal database.

Ci sono dei campi "standard" che in automatico il programma sostituirà al momento della stampa. I campi (meglio riferirsi come variabili globali) sono i seguenti:

w_az_ragsociale : sostituisce la stringa con la RAGIONE SOCIALE definita nei Dati azienda.
w_az_indirizzo : sostituisce la stringa con INDIRIZZO definito nei Dati azienda.
w_az_cap : sostituisce la stringa con CAP definito nei Dati azienda.
w_az_locali : sostituisce la stringa con la LOCALITA' definita nei Dati azienda.
w_az_prov : sostituisce la stringa con la PROVINCIA definita nei Dati azienda.
w_az_codfis : sostituisce la stringa con CODICE FISCALE definito nei Dati azienda.
w_az_vatnumb : sostituisce la stringa con la PARTITA IVA definita nei Dati azienda.
w_az_capitale : sostituisce la stringa con CAPITALE SOCIALE definita nei Dati azienda.
w_az_email : sostituisce la stringa con la MAIL definita nei Dati azienda.
w_logo : sostituisce la stringa con il LOGO definito nei Dati Azienda.
w_az_web : sostituisce la stringa con l'indirizzo WEB definito nei Dati azienda.
w_az_fax : sostituisce la stringa con il numero di fax definito nei Dati azienda. 
w_az_telefo : sostituisce la stringa con il numero di telefono definito nei Dati azienda.

Per "formattare" l'output di stampa in base al tipo do colonna potrete usare le seguenti tipologie:

$[VAR]$ : stringa semplice
$(i)[VAR]$ : interno 0 decimali
$(c)[VAR]$ : numerico 2 decimali
$(n)[VAR]$ : numerico 3 decimali
$(e)[VAR]$ : numerico 4 decimali
$(f)[VAR]$ : numerico 5 decimali
$(d)[VAR]$ : data DD-MM-YYYY
$(rd)[VAR]$ : sostituisce con il riferimento del documento (vn_serrif) (solo su documenti)

Per inserire un sub-report dovrete semplicemente inserire, sempre tra il carattere $, il nome del sub-report stesso. In automatico la routine di stampa "inietterà" l'html
costruito all'interno dell'elemento (Testata o piede) del documento.

Vorrei sottolineare il meccanismo di stampa delle righe documento (CORPO). Per poter "ripetere" le righe del documento, la routine (da AlfaWeb 1.1.1) recupera due elementi
fondamentali che sono :

1. Il PRIMO <tr>
2. L'ULTIMO </tr>

Tutto quello presente all'interno di questi due delimitatori verrà in automatico ripetuto come una riga della stampa. Per poter analizzare il codice basta aprire
l'Html dell'elemento e visionare come è stata gestita la cosa all'interno della stampa di default.

Grazie per l'attenzione. Per qualsiasi commento e informazione non esitare a contattarci attraverso il modulo dei commenti che trovi qui sotto

Se vuoi vedere la demo del nostro prodotto visita pure il sito demo attraverso questo link.

 

GMCE Staff

GMCE Staff

Email Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo.