diff --git a/tp/tp0900.cpp b/tp/tp0900.cpp index 40bb85d11..c1bdb3dc5 100755 --- a/tp/tp0900.cpp +++ b/tp/tp0900.cpp @@ -213,14 +213,15 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con qta_tot_conai = -qta_tot_conai; csv.set(15, TVariant(qta_tot_conai)); - //percentuale di esenzione conai al 100%? - const real perc = rdoc.get_real(RDOC_QTAGG2); - //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato) real qta_assoggettata_conai = agip.get(); - if (perc == CENTO) + //se non trova un prezzo nella riga generata la % di esenzione CONAI e' 100 + if (prezzo == ZERO) + { + //se trova la % di esenzione al 100 non puo' assoggettare conai! qta_assoggettata_conai = ZERO; + } if (is_nac) qta_assoggettata_conai = -qta_assoggettata_conai; @@ -231,11 +232,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con csv.set(12, TVariant(qta_esente_conai)); //valore totale contributo (BxC) sul report - const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo; - csv.set(14, TVariant(totale_contrib_conai.get_num())); + const real totale_contrib_conai = qta_assoggettata_conai * prezzo; + csv.set(14, TVariant(totale_contrib_conai)); //percentuale di esenzione conai in qtagg2 - csv.set(16, TVariant(perc)); + const real rdoc_perc_conai = rdoc.get_real(RDOC_QTAGG2); + csv.set(16, TVariant(rdoc_perc_conai)); //percentuale di esenzione conai in cfven csv.set(17, TVariant(cfven_perc_conai)); @@ -314,16 +316,15 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio csv.set(15, TVariant(qta_tot_conai)); //percentuale di esenzione conai al 100%? - const real perc = rdoc.get_real(RDOC_QTAGG2); + const real rdoc_perc_conai = rdoc.get_real(RDOC_QTAGG2); - //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato) + //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato, ma avendolo gia' gia' rovesciato.. + //..in precedenza non deve fare nulla!) real qta_assoggettata_conai = qta_tot_conai; - if (perc == CENTO) + if (rdoc_perc_conai == CENTO) qta_assoggettata_conai = ZERO; - if (is_nac) - qta_assoggettata_conai = -qta_assoggettata_conai; csv.set(13, TVariant(qta_assoggettata_conai)); //quantita' esente conai (A) sul report @@ -331,11 +332,11 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio csv.set(12, TVariant(qta_esente_conai)); //valore totale contributo (BxC) sul report - const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo; - csv.set(14, TVariant(totale_contrib_conai.get_num())); + const real totale_contrib_conai = qta_assoggettata_conai * prezzo; + csv.set(14, TVariant(totale_contrib_conai)); //percentuale di esenzione conai in qtagg2 - csv.set(16, TVariant(perc)); + csv.set(16, TVariant(rdoc_perc_conai)); //percentuale di esenzione conai in cfven csv.set(17, TVariant(cfven_perc_conai)); @@ -651,8 +652,12 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const csv->set(16, "INDETDOC"); csv->set(17, "INDETCLI"); - const TString path = mask.get(F_PATH); - csv->save_as(path, fmt_text); + TFilename path = mask.get(F_PATH); + path.lower(); + if (path.ends_with("xls") || path.ends_with("slk")) + csv->save_as(path, fmt_silk); + else + csv->save_as(path); //accoppa la riga con le intestazioni dei campi csv->destroy(0); @@ -665,15 +670,16 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const //creazione del report di stampa TDichiarazione_CONAI_report rep; bool ok = rep.load(nome_report); - //setta il recordset... - //deve settare almeno un campo manualmente perche' funzioni la mask2report - csv->set_var("#EMAIL", TVariant("Manca la email"), true); - rep.set_recordset(csv); - //..e poi carica i valori sulla maschera nel report!!!! - rep.mask2report(mask); if (ok) { + //setta il recordset... + //deve settare almeno un campo manualmente perche' funzioni la mask2report + csv->set_var("#EMAIL", TVariant("Manca la email"), true); + rep.set_recordset(csv); + //..e poi carica i valori sulla maschera nel report!!!! + rep.mask2report(mask); + TReport_book book; ok = book.add(rep); if (ok) diff --git a/tp/tp0900a.h b/tp/tp0900a.h index 32f751284..f7a4d56d1 100755 --- a/tp/tp0900a.h +++ b/tp/tp0900a.h @@ -1,27 +1,27 @@ #ifndef __TP0900A_H #define __TP0900A_H -#define F_FIRM 101 -#define F_RAGSOC 102 -#define F_PAIV 103 -#define F_COFI 104 -#define F_DENCOM 105 -#define F_INDIR 106 +#define F_FIRM 201 +#define F_RAGSOC 202 +#define F_DENCOM 205 +#define F_INDIR 206 -#define F_PERIODO 111 -#define F_ANNO 112 -#define F_MESE 113 -#define F_TRIMESTRE 114 -#define F_TIPI 115 -#define F_SPECIECONAI 116 -#define F_TIPOSTAMPA 117 -#define F_EMAIL 118 -#define F_TEL 119 +#define F_PERIODO 211 +#define F_ANNO 212 +#define F_MESE 213 +#define F_TRIMESTRE 214 +#define F_TIPI 215 +#define F_SPECIECONAI 216 +#define F_TIPOSTAMPA 217 +#define F_EMAIL 218 +#define F_TEL 219 -#define F_SOCIO 121 -#define F_RESP 122 -#define F_PRODUT 123 -#define F_EXCEL 124 -#define F_PATH 125 +#define F_SOCIO 221 +#define F_RESP 222 +#define F_PAIV 223 +#define F_COFI 224 +#define F_PRODUT 225 +#define F_EXCEL 226 +#define F_PATH 227 #endif diff --git a/tp/tp0900ac.rep b/tp/tp0900ac.rep index d6fa76637..c0e2b61ab 100755 --- a/tp/tp0900ac.rep +++ b/tp/tp0900ac.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI acciaio 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -341,74 +339,84 @@ #THIS ! - - - - - - - - - - +
diff --git a/tp/tp0900al.rep b/tp/tp0900al.rep index 6d7f207ad..77c635529 100755 --- a/tp/tp0900al.rep +++ b/tp/tp0900al.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI alluminio 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -341,74 +339,84 @@ #THIS ! - - - - - - - - - - +
diff --git a/tp/tp0900ca.rep b/tp/tp0900ca.rep index a0188d92a..7e1738284 100755 --- a/tp/tp0900ca.rep +++ b/tp/tp0900ca.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI carta 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -341,74 +339,84 @@ #THIS ! - - - - - - - - - - +
diff --git a/tp/tp0900es.rep b/tp/tp0900es.rep index 30c71ebf1..9489fe04b 100755 --- a/tp/tp0900es.rep +++ b/tp/tp0900es.rep @@ -3,6 +3,7 @@ Scheda Esenzione CONAI 6.3
+ + #ANNO @@ -238,10 +240,6 @@ - #THIS @ -3 ROUND -#THIS ! - @@ -272,45 +270,21 @@ THEN - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.101 - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.102 - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.103 - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.104 - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.105 - #THIS @ -3 ROUND -#THIS ! - MESSAGE ADD,F1.106
diff --git a/tp/tp0900le.rep b/tp/tp0900le.rep index cca05b4ac..6d952d123 100755 --- a/tp/tp0900le.rep +++ b/tp/tp0900le.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI legno 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -317,60 +315,68 @@ #THIS ! - - - - - - - - +
diff --git a/tp/tp0900pl.rep b/tp/tp0900pl.rep index 7232bd496..52c672187 100755 --- a/tp/tp0900pl.rep +++ b/tp/tp0900pl.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI plastica 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -389,102 +387,116 @@ #THIS ! - - - - - - - - - - - - - - +
diff --git a/tp/tp0900sc.rep b/tp/tp0900sc.rep index 66a2c788c..416ee1013 100755 --- a/tp/tp0900sc.rep +++ b/tp/tp0900sc.rep @@ -3,6 +3,7 @@ Allegato Mod. 6.1
+ @@ -31,6 +32,7 @@ IF(#PERIODO="1","X","") + #ANNO @@ -150,7 +152,7 @@ #TEL - + #EMAIL diff --git a/tp/tp0900ve.rep b/tp/tp0900ve.rep index 87b06201e..2e3bf5761 100755 --- a/tp/tp0900ve.rep +++ b/tp/tp0900ve.rep @@ -3,6 +3,7 @@ Dichiarazione CONAI vetro 6.1
+ + #ANNO @@ -191,28 +193,24 @@ #THIS @ #20 @ +! - MESSAGE ADD,F0.1000
@@ -305,53 +303,60 @@ #THIS ! - - - - - - - +