From b26c9de3dbeb2ca38953d1ad5de2cc508ba7fb2b Mon Sep 17 00:00:00 2001 From: bonazzi Date: Wed, 8 Mar 2017 06:23:38 +0000 Subject: [PATCH] Patch level : 12.0 362 Files correlati : cg4.exe cg5.exe Corretta la stampa dei riporti dei registri. Coretta la segnalazione di tredicesima non calcolata nella comunicazione annuale git-svn-id: svn://10.65.10.50/branches/R_10_00@23679 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/cg/cg4400.cpp | 48 ++++++++++++++++++++++++++++++++++------------- src/cg/cg4400.h | 2 +- src/cg/cg5700.cpp | 2 +- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/cg/cg4400.cpp b/src/cg/cg4400.cpp index 80f3dfcd7..8cf9de447 100755 --- a/src/cg/cg4400.cpp +++ b/src/cg/cg4400.cpp @@ -36,7 +36,7 @@ static enum tipo_sospensione { nessuna, normale, vol_affari, liquidazione }; inline TStampa_registri_app& app() { return (TStampa_registri_app&)main_app(); } // Righe da saltare nel footer per evitare di scrivere sulla perforazione -#define RIGHE_FOOTER 3 +#define RIGHE_FOOTER 4 bool TStampa_registri_app::filter_func (const TRelation * r) { @@ -1182,7 +1182,7 @@ messaggio TStampa_registri_app::controlla_liquidazione() lim.put("CODTAB", chiave); if (lim.read() != NOERR || !lim.get_bool("B0")) { - if (lim.get_bool("B1")) + if (!lim.get_bool("B1")) mesi_cal =""; else mesi_cal << itom(i) << '\n'; @@ -1294,7 +1294,8 @@ int TStampa_registri_app::stampa_prospetto_IVA(int rr, int tipo_prosp) if (tipo_prosp == 0) // Stampa il prospetto iniziale per progressivi attuali (periodo) { reset_print(); - TString riga(_stampa_width, '-'); +/* nel fondo pagina + TString riga(_stampa_width, '-'); set_row(rr++, riga); riga = TR("Legenda Tipo Operazione: 1=intra; 2=AF art.34 comma 3"); @@ -1306,6 +1307,7 @@ int TStampa_registri_app::stampa_prospetto_IVA(int rr, int tipo_prosp) if (_annoes >= 2015) riga << TR("; 6=Scissione pagamenti art.17 ter"); set_row(rr++, riga); + */ _stampa = _st_tot_fin; if (_stampa) @@ -1531,13 +1533,16 @@ int TStampa_registri_app::stampa_acquisti(int row) void TStampa_registri_app::set_page_tot_reg() { - int rr = 1; - rr = stampa_prospetto_IVA(rr, 0); // Intestazione prospetto IVA per aliquota + printer().formfeed(); + + int rr = 1; + + rr = stampa_prospetto_IVA(rr, 0); // Intestazione prospetto IVA per aliquota //*****deve azzerare i totali progressivi dei riporti e segnalare all'header di non stampare //la riga di riporto _totali_stampati = true; //siamo in stampa totali, quindi... - _riporti_stampati = false; //inoltre non deve stapare riporti mentre stampa i totali + _riporti = false; //inoltre non deve stapare riporti mentre stampa i totali _totdoc_prog = _totimpn_prog = _totimps_prog = ZERO; @@ -2307,7 +2312,7 @@ bool TStampa_registri_app::preprocess_page(int file, int counter) _auto_intraf = false; printer().formfeed(); _totali_stampati = false; //siamo al cambio periodo (mese/trimestre),quindi resetto il flag di stampa totali - _riporti_stampati = false;//e pure quello dei riporti,visto che "A Riporto" non va nella prima pagina del mese + _riporti = false;//e pure quello dei riporti,visto che "A Riporto" non va nella prima pagina del mese } _dataregp = _datareg; @@ -2984,7 +2989,7 @@ void TStampa_registri_app::preprocess_header() set_header(r++, riga); //*****valori della riga Riporto - if (_riporti_stampati) + if (_riporti) { if (_stampa_width == 132) set_header(r++, FR("@0gRiporto progressivi@70g%15s@85g%15s@107g%15s"), @@ -2999,7 +3004,8 @@ void TStampa_registri_app::preprocess_header() _totimpn_prog += _progr_impn; _totimps_prog += _progr_imps; } - set_header(r++, riga); +// set_header(r++, riga); + set_header(r++, ""); _totali_stampati = false; } } @@ -3024,10 +3030,24 @@ void TStampa_registri_app::preprocess_footer() _totdoc_prog.string(".2"), _totimpn_prog.string(".2"), _totimps_prog.string(".2")); set_footer(r++, riga); - _riporti_stampati = true; + +/* TString riga(_stampa_width, '-'); + + set_footer(r++, riga); */ + riga = TR("Legenda Tipo Operazione: 1=intra; 2=AF art.34 comma 3"); + if (_auto_intraf) + riga << TR("; 3=intra e AF art.34 comma 3"); + riga << TR("; 4=liquidazione differita"); + if (has_module(ICAUT)) + riga << TR("; 5=IVA per cassa"); + if (_annoes >= 2015) + riga << TR("; 6=Scissione pagamenti art.17 ter"); + set_footer(r++, riga); + + _riporti = true; } else - _riporti_stampati = false; + _riporti = false; } void TStampa_registri_app::on_page_printed(int file) @@ -3407,6 +3427,7 @@ void TStampa_registri_app::no_movimenti() { TRecnotype rec = _tabreg->recno(); _mov_empty = true; + int da = 1, a = _fino_a_mese; if (_tipo_stampa == bollato || _tipo_stampa == rif_giornale) { @@ -3458,7 +3479,8 @@ void TStampa_registri_app::no_movimenti() } send_message(calc ? 'R' : 'C', app, calc ? a : mese); } - + if (_tipo_reg == riepilogativo) + _totali_stampati = true; if (some_IVAxCassa(da, a)) { if (! printer().isopen()) @@ -3671,7 +3693,7 @@ bool TStampa_registri_app::set_print(int n) _totimpn_prog = 0; _totimps_prog = 0; _rows_left = 69; - _riporti_stampati = false; + _riporti = false; _totali_stampati = false; _annoes = m.get_int(ANNO);//in realta' e' l'anno IVA !!! diff --git a/src/cg/cg4400.h b/src/cg/cg4400.h index 7e7c41119..b1f253027 100755 --- a/src/cg/cg4400.h +++ b/src/cg/cg4400.h @@ -50,7 +50,7 @@ class TStampa_registri_app : public TPrintapp bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi, _stampa_num_pag; bool _sosp_imposta, _riep_liq; bool _st_tot_fin; - bool _riporti_stampati, _totali_stampati; + bool _riporti, _totali_stampati; char _frequiva, _tipo_riepilogativo, _freq_riepilogo; TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg; TDate _u_data; diff --git a/src/cg/cg5700.cpp b/src/cg/cg5700.cpp index 9a9547122..90eb053bd 100755 --- a/src/cg/cg5700.cpp +++ b/src/cg/cg5700.cpp @@ -509,7 +509,7 @@ void TDich_periodica_iva_mask::read_iva_data() TString8 key; key.format("%4d13", anno); const TRectype& lim = cache().get("LIM", key); - if (lim.get_bool("B0")) + if (!lim.get_bool("B0")) { const TRectype& lam = cache().get("LAM", key); TString descrizione(120); descrizione << lim.get("S0") << lim.get("S1");