Esportare su file le fatture di acquisto e di vendita di AltaStagione |
|
Il seguente script SQL permette di esportare su file di testo i dati di acquisto e di vendita di AltaStagione in un periodo. |
|
-- INIZIO FILE -- INIZIO PARAMETRI /* definire di seguito i parametri, secondo la sintassi: [nomeparametro]=valore Esempi: ------- esempio con date: [data]='2014-12-31' esempio con stringhe: [nomecliente]='rossi' esempio con importi con decimali: [importomin]=1234.56 esempio con nomi di file: [fileesportato]="c:\file.txt" ATTENZIONE, quando si specificano dei nomi di file: ASSICURARSI DI SPECIFICARE CARTELLE DOVE SI ABBIANO I PERMESSI IN SCRITTURA (ad esempio la cartella C:\ non è accessibile in scrittura in Windows 8!) */ [data1]='2014-01-01' [data2]='2014-12-31' [file_dettaglio_acquisti]="c:\dettaglio_acquisti.txt" [file_dettaglio_vendite]="c:\dettaglio_vendite.txt" [file_riepilogo_fornitori]="c:\riepilogo_fornitori.txt" [file_riepilogo_clienti]="c:\riepilogo_clienti.txt" -- FINE PARAMETRI -- INIZIO SCRIPT SQL select codfor,nomefor,numfat,dataf,totimp as imponibile,totiva as iva,totfatt as totale,tipodoc into "\memory\dettaglio_acquisti" from fatacq where dataf>=[data1] and dataf<=[data2] order by dataf; update "\memory\dettaglio_acquisti" set imponibile=-imponibile, iva=-iva, totale=-totale where tipodoc=2; -- 2=note di credito select codfor,nomefor, cast(null as varchar(40)) as via, cast(null as varchar(5)) as cap, cast(null as varchar(30)) as citta, cast(null as varchar(2)) as provincia, cast(null as varchar(16)) as codfisc, cast(null as varchar(11)) as piva, sum(imponibile) as totimp,sum(iva) as totiva, sum(totale) as totfatt,count(*) as quantidoc into "\memory\riepilogo_fornitori" from "\memory\dettaglio_acquisti" group by codfor order by nomefor; update "\memory\riepilogo_fornitori" rf set rf.via=f.via, rf.cap=f.cap, rf.citta=f.citta, rf.provincia=f.provincia, rf.codfisc=f.codfisc, rf.piva=f.piva from "\memory\riepilogo_fornitori" rf join forn f on rf.codfor=f.rifint; select numero,data,cast(null as integer) as codcli,nomecli,codfisccli,pivacli,cast(0 as money) as imponibile,aliqiva,cast(0 as money) as iva,importo as totale into "\memory\dettaglio_vendite" from ricfatt where tipodoc=3 and data>=[data1] and data<=[data2]; update "\memory\dettaglio_vendite" dv set dv.codcli=c.rifint from "\memory\dettaglio_vendite" dv join cli c on dv.pivacli=c.piva; update "\memory\dettaglio_vendite" set iva=round(totale-totale/(1+aliqiva/100.0),2); update "\memory\dettaglio_vendite" set imponibile=round(totale-iva,2); select codcli,nomecli, cast(null as varchar(40)) as via, cast(null as varchar(5)) as cap, cast(null as varchar(30)) as citta, cast(null as varchar(2)) as provincia, codfisccli as codfisc,pivacli as piva, sum(imponibile) as totimp,sum(iva) as totiva,sum(totale) as totfatt,count(*) as quantidoc into "\memory\riepilogo_clienti" from "\memory\dettaglio_vendite" group by codcli order by nomecli; update "\memory\riepilogo_clienti" rc set rc.via=c.via, rc.cap=c.cap, rc.citta=c.citta, rc.provincia=c.provincia from "\memory\riepilogo_clienti" rc join cli c on rc.codcli=c.rifint; export table "\memory\dettaglio_acquisti" to [file_dettaglio_acquisti] delimiter ';' with headers date 'dd/mm/yyyy' time 'hh:mm' decimal ','; export table "\memory\dettaglio_vendite" to [file_dettaglio_vendite] delimiter ';' with headers date 'dd/mm/yyyy' time 'hh:mm' decimal ','; export table "\memory\riepilogo_fornitori" to [file_riepilogo_fornitori] delimiter ';' with headers date 'dd/mm/yyyy' time 'hh:mm' decimal ','; export table "\memory\riepilogo_clienti" to [file_riepilogo_clienti] delimiter ';' with headers date 'dd/mm/yyyy' time 'hh:mm' decimal ','; drop table if exists "\memory\dettaglio_acquisti"; drop table if exists "\memory\dettaglio_vendite"; drop table if exists "\memory\riepilogo_fornitori"; drop table if exists "\memory\riepilogo_clienti"; -- FINE SCRIPT SQL -- FINE FILE (una volta selezionato, premere CTRL+C per copiare il testo negli appunti) |
|
Come si utilizza lo script ? Come impostare i parametri dello script Che tipo di risultati fornisce lo script ? |
|