Data ultimo aggiornamento: 27/06/2017

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

Impostazione stampe parametriche predefinite

Nome programma: BS--ISTP.DLL
Moduli richiesti: Qualsiasi

Questo programma è utilizzato per la creazione, la modifica e la cancellazione di formati di stampa, permette di basare una Stampa/Visualizzazione su un file report ".RPT" oppure su una stringa SQL (per un discorso introduttivo vedere Le stampe e le visualizzazioni parametriche). Attenzione: è consigliabile non usare i codici compresi fra 1 e 599 (riservati a NTS). In fase di aggiornamento se si sceglie di aggiornare i dati delle stampe parametriche, tali codici riservati se usati verranno persi.

Nel caso si voglia creare un nuovo formato di stampa basato su un report, eventualmente commissionato all'installatore, è sufficiente porre il file report ".RPT" nella cartella Pers contenuta nella sottocartella Rpt, quindi creare un nuovo record inserendo il codice del Formato di Stampa, il Nome File RPT appena inserito, e il Titolo del formato di stampa. Business sarà già in grado di visualizzare, esportare e/o stampare i dati del report.

Se invece si desidera basare un formato di stampa su una query SQL, è sufficiente digitare l'istruzione nell'apposita casella di testo Stringa SQL Server (è possibile anche incollare una istruzione SQL dopo averla copiata da un altro strumento di generazione) lasciando vuota la casella nome file rpt, completando l'inserimento con il codice del formato di stampa e il relativo titolo.

I valori dei filtri impostati dall'operatore possono essere passatti al report tramite apposte formule create sul report con nome FILTRO1, FILTRO2,... vedere in merito Personalizzazione stampe da Crystal Report.

Sempre in fase di inserimento, oppure successivamente in fase di modifica, si possono impostare dei Filtri Utente, attraverso i quali è possibile imporre una o più condizioni (per esempio "Provincia = 'RN'" nel caso di una condizione; "Provincia = 'RN' AND Prefisso = '0541'" nel caso di due condizioni). Da notare il fatto che i Valori Campo e gli Operatori possono successivamente essere modificati anche dal programma Stampe/Visualizzazioni Parametriche prima di richiedere la stampa.

L'inserimento di un filtro utente ha inizio specificando il campo a cui si riferisce utilizzando la funzione di zoom e selezionando ivi la tabella, a cui il campo appartiene, e poi il campo stesso.

Effettuata la selezione, nella casella Descrizione Campo apparirà il nome esteso del campo selezionato, nella Casella Nome Campo apparirà, invece, il nome che il campo possiede all'interno degli archivi di Business, e nella casella Tipo Campo apparirà il tipo del campo che è stato selezionato (Stringa, Byte, Data/Ora, Numerico, etc...).

Nella casella Operatore, invece occorre inserire l'operatore di confronto sulla base del quale vengono filtrati i dati estratti dal report o dalla query:

  1. Like (Uguale), operatore applicato alle stringhe; è possibile utilizzare i caratteri jolly '*' e '?', ad esempio, nel seguente modo: "Cognome like 'M*', che indica la selezione di tutti i record dove il Cognome inizia con la lettera M e prosegue con un numero qualsiasi di lettere qualsiasi.
  2. > (Maggiore), op. generalmente applicato a campi numerici e/o di tipo Data/Ora, comunque valido anche per le stringhe. Es.: "Prezzo Articolo > 10000" indica la selezione di tutti i record nei quali il campo denominato 'Prezzo Articolo' è maggiore di 10000.
  3. >= (Maggiore o Uguale), come sopra ma indica la selezione di tutti i record nei quali il campo denominato 'Prezzo Articolo' è maggiore o uguale a 10000.
  4. < (Minore) Es. "Età < 18", indica la selezione di tutti i record in cui il Campo 'Età' è minore di 18, quindi saranno scartati tutti quelli da 18 anni, compresi, in su.
  5. <= (Minore o Uguale) Es. "Età <= 18", indica la selezione di quelli che hanno 18 anni oppure meno, in altre parole saranno scartati i record in cui il Campo 'Età' è strettamente superiore ai 18 anni.
  6. = (Uguale) Es. "Tipo Conto = 'F'" indica la selezione di tutti i record dove il Campo 'Tipo Conto' è uguale a 'F'.
  7. <> (Diverso) Es. "Tipo Conto <> 'F'" indica la selezione di tutti i record in cui il Campo 'Tipo Conto' è diverso da 'F', quindi tutti quelli che non sono 'F'.

Infine, nella composizione di un filtro, occorre specificare il valore con il quale il campo deve essere confrontato e ciò deve essere fatto nella casella valore campo, digitando direttamente un valore oppure premendo il tasto di zoom per ottenere un elenco dei valori esistenti e validi per completare il filtro.

Più filtri possono essere messi in relazione por formare condizioni composte. La casella Composizione relazionale filtri è preposta a contenere la condizione composta attraverso gli operatori relazionali, di seguito elencati:

  1. AND Sintassi: <Condiz.1> AND <Condiz.2>. Affinchè questa condizione composta sia vera occorre che entrambe le condizioni semplici <Condiz.1> e <Condiz.2> siano vere contemporaneamente. Es.: "DataNascita < 01/01/97 AND Cognome Like 'C*'", indica la selezione di tutti i nati prima del 1997 e il cui cognome inizia con la lettera C.
  2. OR Sintassi: <Condiz.1> OR <Condiz.2>. Affinchè questa condizione composta sia vera e quindi dia luogo alla selezione dei record interessati, è sufficiente che almeno una delle due condizioni semplici sia vera. Es.: "DataNascita<01/01/80 OR DataNascita>31/12/1989, indica la selezione di tutti i record in cui il campo DataNascita è anteriore agli anni '80 oppure posteriore. In altre parole è sufficiente "non essere nati negli anni '80 per essere selezionati".
  3. NOT Sintassi: NOT <Condiz.1>. Affinchè questa condizione composta sia vera occorre che la condizione semplice <Condiz.1> sia falsa. Se <Condiz.1> fosse vera, NOT <Condiz.1> sarebbe falsa. Es.: "NOT (DataNascita<01/01/80 OR DataNascita>31/12/89)" in questo caso è stata negata (logicamente) la condizione composta dell'esempio precedente: prima era vera se NON si era nati negli anni 80, ora, che è preceduta dall'operatore logico NOT, è vera solo se si è nati negli anni '80.

Vediamo cosa digitare nella casella composizione relazionale filtri utilizzando l'esempio dell'operatore NOT sopra descritto. Supponiamo inseriti i filtri 1 (DataNascita<01/01/80) e 2 (DataNascita>31/12/89), attraverso i bottoni in basso a destra, oppure digitando direttamente, possiamo inserire la composizione logica dei due filtri come segue: NOT ( 1 OR 2 ). Notare che in luogo dei due Filtri semplici abbiamo digitato il numero a loro corrispondente. Si raccomanda particolare attenzione all'uso delle parentesi che come in aritmetica modificano l'ordine di valutazione dell'espressione. Ricordiamo, inoltre, che il NOT precede AND e OR nell'ordine di valutazione dell'espressione e che nello stesso livello di parentesi, la valutazione procede, come in aritmetica, da sinistra a destra.

Tabella principale per codice ditta il campo deve essere impostato solo per query che operano su dati organizzati per ditta (per esempio nella query sottostante c'è la tabella delle registrazioni contabili, PRINOT, oppure dei movimenti di magazzino, MOVMAG; o di qualsiasi altra tabella col campo 'cod.ditta' all'interno). Va indicato in tal campo il nome della tabella principale della query, su cui deve essere passato come filtro il valore del codice ditta corrente. Per 'tabella principale' si intende quella (o una di quelle) che nella query si trova a destra di tutte le RIGHT JOIN e a sinisra di tutte le LEFT JOIN. Nel caso di INNER JOIN centrali, la tabella principale è una qualsiasi delle tabella collegate nella INNER JOIN stessa. Tale dato comunue viene utilizzato solo per la stampa su griglia, nel caso invece in cui si utilizzino stampe parametriche query (basate su file *.RPT) all'interno dei report (con CrystalReport) va creata una formula esattamente di nome MAINTAB con all'interno il nome della tabella principale del report (ad esempio 'TESTMAG'), in tal modo il programma applica (oltre ai filtri dichiarati dall'utente in fase di impostazione della stampa) il filtro sulla ditta corrente (ad esempio {testmag.codditt} = 'PROVA'). In questo caso una procedura utile per i test nel report è immettere nel report stesso il campo speciale 'Formula di selezione dei record' che visualizza la selection formula applicata in esecuzione.

NB: durante l'impostazione delle stampe paramentriche query creando delle query di tipo UPDATE/DELETE/INSERT non è possibile inserire dei filtri, al contrario delle SELECT oppure dei file RPT ove invece i 15 filtri sono operativi. Questo è un comportamento voluto per motivi di sicurezza e anche impostando dei filtri questi non veranno valutati al momento dell'esecuzione della query.

Subquery

Dalla release 2015 è possibile utilizzare, solo all'interno della clausola WHERE della query principale, una subquery con anche una serie di relativi filtri messi a disposizione nel tab 4, come ad esempio:

SELECT * FROM anagra WHERE an_tipo = 'S' AND an_conto IN (SELECT tm_conto FROM testmag WHERE *SUBQ*)

in questo caso il marcatore *SUBQ* dovrà essere inserito a mano nel punto in cui l'operatore vuole che questi nuovi 5 filtri vengano inseriti nella query, mentre poi i filtri tradizionali verranno aggiunti alla fine della query. Attenzione è possibile specificare subquery solo all'interno della clausola WHERE della query principale, non è supportato ad esempio l'inserimento delle subquery nella clausola SELECT della query principale.

Funzionalità

Spostarsi
Per spostarsi tra i vari formati utilizzare i tasti di scorrimento presenti nella toolbar, invece per posizionarsi su uno specifico formato esistente, posizionarsi sul campo descrizione, premere il tasto di zoom e selezionare il formato sul quale posizionarsi.

Duplicare un formato esistente
Per duplicare un formato di stampa esistente posizionarsi su tale formato e premere il tasto Duplica, nella finestra che appare digitare il codice da attribuire al nuovo formato duplicato.

Accesso per Operatori
Con questa funzionalità è possibile impostare degli accessi alla stampa, per Operatori\Gruppo operatori

Inoltre nel caso di stampe con indicato una QUERY che inizia per SELECT, è possibile indicare un nome di file di excel ed una cartella di lavoro (il file e la cartella devono già esistere).
Durante la stampa della parametrica su griglia, se è stato indicato, un file di excel, oltre ad eseguire la stampa su griglia viene anche eseguito l'export dei dati nel foglio indicato (preventivamente svuotato), in questo modo è possibile, ad esempio, realizzare un grafico su excel nel foglio 2 che attinge ai dati del foglio1 e da business, tramite la stampa parametrica (poter alimentare il foglio1 con una query specifica).

Clicca per accedere al sito di NTS Informatica