Impostazione stampe parametriche predefinite | |||
Nome programma: BS--ISTP.DLL
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 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:
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:
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.
Spostarsi
Duplicare un formato esistente
Accesso per 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).
|