Data ultimo aggiornamento: 13/11/2023

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Personalizzazione stampe da Crystal Report

In questo paragrafo non trattiamo della possibilità di personalizzare talune stampe (come per esempio quelle dello scadenzario, degli ordini, ecc...) con l'ausilio dei modelli di Word trattato invece diffusamente in Integrazione con Office.

Parliamo qui di tutte le stampe (i report) prodotte da Business, le quali sono modificabili dall'utente (utente esperto) o dall'installatore o da un programmatore. La modifica può riguardare la grafica (per esempio l'aggiunta di un logo sul tracciato della bolla o della fattura), i campi (per esempio l'aggiunta di un campo nella stampa dei partitari), l'ordinamento delle informazioni (cambiare dall'ordine alfabetico all'ordine di codice o viceversa), oppure solo in alcune occasioni i filtri.

Per operare tali modifiche/personalizzazioni occorre disporre e saper utilizzare uno strumento denominato Crystal Reports.

Tutti i report forniti con Business (i report standard, che vengono aggiornati con rilasci successivi della procedura) risiedono in una sottocartella Rpt della directory di installazione di Business, se l'installazione è una installazione client/server, tale cartella risiede solo nel server. Ogni report consiste in un file con estensione .RPT (per esempio BSVEFATI.RPT è il report della fattura immediata).

E' possibile modificare/personalizzare qualsiasi report tra quelli forniti da Business (anche se in alcuni casi questo può essere sconsigliato, come nel caso dei report relativi al Libro Giornale, registri IVA, ecc...). In tal caso, per evitare che al successivo aggiornamento vengano sovrascritti, è bene che i report modificati siano depositati nella sottodirectory Pers della directory Rpt . Business prima di stampare un report lo cerca prima nella cartella Pers, e se lo trova utilizza, in caso contrario lo cerca nella Rpt ed utilizza quello ivi depositato.

E' possibile anche creare nuovi report ed agganciarli a Business con il sistema dell'Impostazione stampe/visualizzazioni parametriche. I file PAR????.RPT che si trovano nella directory Rpt sono esempi di report agganciati a Business col sistema delle stampe parametriche. Anche i nuovi report eventualmente creati è bene che siano depositati nella sottodirectory Pers.

E' possibile creare dei report aggiuntivi ed associarli tramite multireport con l'impostazione da Registro di Business (vedi in dettaglio l'argomento relativo in Personalizzazione delle stampe da Registro). In tal modo è possibile per esempio prevedere (ma non solo) la possibilità di stampare, a scelta dell'utente, una qualsiasi stampa in formati diversi a secondo dello scopo o dell'utilizzatore o del destinatario.

Con le runtime Crystal reports 2011 non è possibile ottenere dal report il valore predefinito impostato per i campi parametro, ma è possibile settarlo (ed acquisirlo da Business) creando sul report una formula che si chiama come il campo parametro + '_default' che contiene il valore di default. Ad esempio immaginiamo di avere il parametro prova_stampa, nome della formula prova_stampa_default. Se la formula non esiste non verrà proposto il valore di default.

Se viene configurato un report con campo parametro (con o senza valore di default l'esito non cambia), quando viene estratta la fattura elettronica, se è attivo il flag "allega PDF da multireport", a causa di un limiti di programma , non viene allegato il PDF e viene segnalato il messaggio "Fattura immediata emessa YY/XXXX : impossibile allegare alla fattura elettronica l'allegato contente il PDF della fattura perchè il report chiede dei parametri di avvio"

E' importante sapere che ogni report modificato o creato può contenere le seguenti Formule inizializzate con una stringa qualsiasi (per il concetto di Formula vedi il manuale di Crystal Reports), tali Formule se esistono nel report vengono trasferite da Business a Crystal Reports automaticamente al momento della stampa con le informazioni descritte a lato del nome di ciascuna formula:

  • CAPAZ - cap ditta corrente impostata in anagrafica ditta
  • CITTAAZ - città ditta corrente impostata in anagrafica ditta
  • CODFISCAZ - codice fiscale ditta corrente impostata in anagrafica ditta
  • DECSUPRZUN - il numero dei decimali da utilizzarsi per i prezzi unitari in valuta corrente
  • DECSUPRZUNVAL - il numero dei decimali da utilizzarsi per i prezzi unitari in valuta
  • DESAZ - il codice ditta corrente dell'archivio azienda/database sulla quale la stampa è stata prodotta
  • NTSNOMEDB - il codice dell'archivio azienda/database corrente sulla quale la stampa è stata prodotta
  • FILESTAMPA - il nome del file .RPT che è stato preso in input dal programma per effettuare la stampa
  • INDIRAZ - indirizzo ditta corrente impostata in anagrafica ditta
  • NTSCOPIES - permette di impostare il numero delle copie di stampa direttamente in fase di disegno del report
  • NTSIMAGESDIR - corrisponde al percorso della RptDir - 'Rpt' + 'Images', riporta quindi il percorso della directory delle immagini Images, in questo modo con Crystal Reports versione 2008 è possibile esporre delle immagini a runtime (per esempio per ottenere un catalogo)
  • NTSORIENTATION - permette di impostare in fase di disegno del report l'orientamento della stampa, indicando 1 la stampa verrà eseguita in formato portrait, mentre con valore 2 verrà eseguita in landscape
  • NTSSUBREPORTS - impostata con valore -1 abilita la gestione dei sottoreport
  • NTSTREE - impostata con valore 1 permette nell'anteprima a video di visualizzare nella parte sinistra un albero contenente i gruppi dichiarati nel report per facilitare la navigazione
  • OPERAT - il nome dell'operatore che ha lanciato la stampa
  • PIVAAZ - partiva IVA ditta corrente impostata in anagrafica ditta
  • PROVAZ - provincia ditta corrente impostata in anagrafica ditta
  • RAGSOC2AZ - ragione sociale parte estesa della ditta corrente impostata in anagrafica ditta
  • RAGSOCAZ - ragione sociale della ditta corrente impostata in anagrafica ditta
  • VALUTA - contiene la sigla della valuta di conto utilizzata (per esempio 'EUR' = Euro)

Dette formule possono essere anche nascoste. Per esempio la formula VALUTA normalmente è nascosta e viene utilizzata all'interno di altre formule per la formattazione di importi, con o senza i due decimali.

Altre formule sono trasferite automaticamente da Business al momento della richiesta di stampa, se sono definite in un report collegato a Business tramite il sistema delle Stampe/visualizzazioni parametriche. Queste formule sono le seguenti:

  • FORMSTAMPA - numero identificativo del formato di stampa nell'archivio delle stampe parametriche(per esempio '022')
  • NOMESTAMPA - titolo del formato di stampa (per esempio 'STAMPA PIANO DEI CONTI PERSONALIZZATO')
  • FILTRO1 - valore del valore assegnato dall'utente al primo filtro
  • FILTRO2 - valore del valore assegnato dall'utente al secondo filtro
  • ...
  • FILTRO10 - valore del valore assegnato dall'utente al decimo filtro

Mentre per le Stampe parametriche predefinite le formule sono:

  • REPORTHEADER - contiene la stringa contenente il titolo della stampa
  • INTESTAZIONECAMPI - contiene la stringa contenente l'intestazione delle colonne

Altre importanti impostazioni da seguire nella creazione di nuovi report per Business sono le seguenti (opzioni di Crystal Reports e opzioni di Report):

  • spuntare la casella More Report Engine Error Message, perché vengano fornite a Business maggiori informazioni diagnostiche su eventuali errori in fase di stampa
  • togliere la spunta a Save Data with Report
  • spuntare la casella Case-insensitive Data
  • scegliere l'opzione Converti campi data/ora in Data
  • per il formato dei campi valuta non utilizzare quelli dei Windows, bensì utilizzare un formato senza prefisso/suffisso del simbolo monetario
  • impostare i margini di pagina (Page Setup) con i valori (espressi in cm) 1,63 0,63 2,63 1,63 e non usare i margini predefiniti
  • prima di salvare è consigliabile settare la stampante (Printer Setup) con l'opzione Nessuna Stampante (No printer)

Esempio di come inserire un immagine variabile tramite la formula NTSIMAGESDIR

Come prima cosa occorre aprire il report da personalizzare e creare la formula 'NTSIMAGESDIR', poi procedere ad inserire un'immagine all'interno del report.

Si consiglia di inserire un immagine di default come da esempio, in modo da mostrare il messaggio di immagine non trovata nel caso non sia presente in alcuni casi l'immagine.

Inserita la nuova immagine nel report, tramite il tasto destro del mouse selezionare 'Formatta grafica...'.

Andare sul tab 'Immagine' e selezionare la formula impostabile 'Posizione grafica'.

In questa formula decideremo di visualizzare anzichè l'immagine di default selezionata in precedenza, una a piacere, ad esempio inserendo la seguente:

Nel caso in cui la formula non riporta un immagine valida (nel percorso), oppure non supportata dal motore di stampa CR 2008 (nel tipo) verrà visualizzata l'immagine di default.

Viste in crystal reports 2008

Per conoscenza in crystal reports 2008, per chi non ne è già a conoscenza, esiste la segeunte funzionalità che può essere utile. A partire da Crystal Reports 2008 si possono aggiungere anche delle 'viste' create direttamente nel report e non nel database. Funziona con sorgente dati ODBC di tipo SQL Server, con il comando 'Aggiungi comando' è possibile inserire una query per creare una sorta di 'vista' che può essere rinominata e poi collegata alle altre tabelle.

A questo punto nel report si possono aggiungere i campi come se fosse una normale tabella.

Record Selection/Group Selection/Saved Data (Crystal Reports)

In alcune circostanze potrebbe essere comodo (per non personalizzare un programma) o necessario (ai fini di un miglioramento delle prestazioni del report) effettuare un'ulteriore selezione dei dati successiva a quella derivante da Business e visualizzabile da Database | Mostra Query SQL (Database | Show SQL Query):

Esistono tre tipologie di selezioni possibili: Record, Gruppo e Dati salvati (Record, Group, Saved Data):

Record (Record Selection)

Questa funzione limita o restringe la selezione di record che saranno inclusi nel report.
E' possibile operare indistintamente sia sulla parte superiore (Esperto Selezione / Select Expert) che sulla parte inferiore, ovvero l'Editor delle formule (Formula Editor):


Scrivendo in una delle sue sezioni, si aggiornerà in maniera interattiva anche la sezione contrapposta; a seconda del tipo di selezione da effettuare potrebbe risultare più facile utilizzare una o l'altra.

Gruppo (Group Selection)

Questa funzione limita o restringe la selezione di record che saranno inclusi nel gruppo riferito al campo di riepilogo. Quando viene selezionato un campo che è oggetto di riepilogo all'interno del report, il programma riconosce automaticamente che la selezione è da intendersi per il gruppo.

Per il resto il funzionamento è speculare a quello dei Record.

Dati Salvati (Saved Data)

Le formule di selezione contenute in questa sezione filtrano i dati dopo che questi sono stati memorizzati e inclusi nel report.

Possono essere create nella stessa maniera utilizzata per i Record, ma con la differenza che modificare la selezione dei dati salvati non causa un refresh al database.

Queste formule sono utilizzate assieme ai parametri per creare filtri interattivi personalizzabili.

A seconda del programma che lancia il report, su business si hanno dei comportamenti diversi:

-nei programmi che non passano alcun filtro in selection formula come ad esempio la stampa forme di pagamento su report bs--paga.rpt, se applicati lato report dei filtri,come in questi casi, applica i filtri, non azzera la selection formula applicata lato report e da business seleziona i record con la selezione impostata lato report.
-nei programmi come gestione documenti e report relativi ad esempio bsvebolx in cui il programma bnveboll invece applica una selection formula, la selection formula impostata lato report viene azzerata, quindi non viene presa in considerazione e viene applicata unicamente quella passata da programma cioè da gestione documenti BNVEBOLL.
- nelle stampe parametriche la selection formula impostata lato report non viene azzerata come nel caso precedente ma viene accodata a quella passata dal programma.

Clicca per accedere al sito di NTS Informatica
Clicca per accedere al sito di NTS Informatica