diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index 6c07df154..e01861a3a 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -183,7 +183,7 @@ TMask* TPrimanota_application::load_mask(int n) m->set_handler(O_PAIV, occas_cfpi_handler); break; default: - CHECKD(0, "Che ca$$o di maschera e' la ", n); + CHECKD(0, "Che ca$$o di maschera è la ", n); break; } @@ -371,7 +371,7 @@ bool TPrimanota_application::read_caus(const char* cod, int year) if (err) { - error_box(FR("Il conto della riga %d della causale e' %s"), + error_box(FR("Il conto della riga %d della causale è %s"), i, err == 1 ? TR("sconosciuto") : TR("sospeso")); } @@ -849,7 +849,7 @@ void TPrimanota_application::init_insert_mode(TMask& m) TConfig ini(tmp, "23"); ini2mask(ini, m, false); - // Controllo se e' stato salvato il campo virtuale col codice IVA + // Controllo se è stato salvato il campo virtuale col codice IVA if (m.id2pos(F_CODIVA) > 0) { const TString& codiva = ini.get("CODIVA", "23"); @@ -880,7 +880,7 @@ void TPrimanota_application::init_modify_mode(TMask& m) TSheet_field& cg = cgs(); - // Determina se il movimento e' stato trasferito da AS/400: + // Determina se il movimento è stato trasferito da AS/400: // praticamente controlla che non ci sia nessun tipo movimento sulle righe contabili. _as400 = false; if (is_saldaconto() || iva() != nessuna_iva) @@ -917,7 +917,7 @@ void TPrimanota_application::init_modify_mode(TMask& m) m.show(F_ADJUST_PRORATA); m.set_handler(F_ADJUST_PRORATA, prorata_handler); - warning_box(TR("Questo movimento e' stato registrato con una percentuale\n" + warning_box(TR("Questo movimento è stato registrato con una percentuale\n" "prorata non compatibile con quella corrente:\n" "Premere il bottone di correzione automatica delle righe.")); } @@ -940,11 +940,11 @@ void TPrimanota_application::init_modify_mode(TMask& m) { TString msg; if (mov.get_bool(MOV_STAMPATO)) - msg << '\n' << TR("Il movimento e' gia' stato stampato sul libro giornale."); + msg << '\n' << TR("Il movimento è già stato stampato sul libro giornale."); if (mov.get_bool(MOV_REGST)) - msg << '\n' << TR("Il movimento e' gia' stato stampato sul bollato."); + msg << '\n' << TR("Il movimento è già stato stampato sul bollato."); if (mov.get_bool(MOV_INVIATO)) - msg << '\n' << TR("Il movimento e' stato inviato ad un'altra contabilita'."); + msg << '\n' << TR("Il movimento è stato inviato ad un'altra contabilità."); if (msg.not_empty()) { msg.insert(TR("ATTENZIONE!")); @@ -959,7 +959,7 @@ void TPrimanota_application::init_modify_mode(TMask& m) } // Controlla sulla causale se il segno del totale documento (ritsoc=false) -// o quello delle ritenute sociali (ritsoc=true) e' invertito rispetto al normale +// o quello delle ritenute sociali (ritsoc=true) è invertito rispetto al normale bool TPrimanota_application::test_swap(bool ritsoc) { const char sez = ritsoc ? causale().sezione_ritsoc() : causale().sezione_clifo(); @@ -970,7 +970,7 @@ bool TPrimanota_application::test_swap(bool ritsoc) void TPrimanota_application::add_cup_or_cig(short id, const TRectype& rec, TToken_string& riga) const { const bool cup = id == CG_CUP; - const TString80 cod = rec.get(cup ? RMV_CUP : RMV_CIG); + const TString& cod = rec.get(cup ? RMV_CUP : RMV_CIG); if (cod.full()) { riga.add(cod, id-FIRST_FIELD); // Tipo di riga 115 o 117 @@ -982,7 +982,7 @@ void TPrimanota_application::add_cup_or_cig(short id, const TRectype& rec, TToke void TPrimanota_application::add_cup_or_cig(short id, TConfig& ini, TToken_string& riga) const { const bool cup = id == CG_CUP; - const TString80 cod = ini.get(cup ? RMV_CUP : RMV_CIG); + const TString& cod = ini.get(cup ? RMV_CUP : RMV_CIG); if (cod.full()) { riga.add(cod, id-FIRST_FIELD); // Tipo di riga 115 o 117 @@ -1158,12 +1158,12 @@ void TPrimanota_application::mask2rel(const TMask& m) } else s[0] = '\0'; - rec.put(MOV_TIPOMOV, s); // Tolto dalla maschera (su file e' alfanumerico)! + rec.put(MOV_TIPOMOV, s); // Tolto dalla maschera (su file è alfanumerico)! _rel->destroy_rows(numreg); // Destroy all records cgs_pack(); // Destroy all null rows - // Controlla se e' un movimento con righe contabili + // Controlla se è un movimento con righe contabili if (iva() == nessuna_iva || !m.get_bool(F_SOLAIVA)) { TString_array& rows = cgs().rows_array(); @@ -1233,7 +1233,7 @@ void TPrimanota_application::mask2rel(const TMask& m) { rec.put(MOV_TIPO, clifo()); - if (m.field(F_OCCASEDIT).active()) // Se e' un occasionale + if (m.field(F_OCCASEDIT).active()) // Se è un occasionale { const TMask& om = occas_mask(); TRelation occas(LF_OCCAS); @@ -1653,17 +1653,17 @@ long TPrimanota_application::calcola_m770(int tipo_coll, real& spese, real& comp imp = row; const char cf = row.get_char(2); - if (cf == 'F') // Evviva, e' un fornitore! + if (cf == 'F') // Evviva, è un fornitore! { const long cod = row.get_long(5); char tipper; long codper; if (!is_percipient(cod, tipper, codper)) - continue; // Se non e' percipente ignoralo + continue; // Se non è percipente ignoralo if (forn == 0 && tipo_coll == 3) { - forn = cod; // E' il primo che trovo! + forn = cod; // è il primo che trovo! } else // Fine ricerca. { @@ -1894,7 +1894,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query) if (numrig != i) // Controllo se ho un numero riga valido { numrig = -1; // Normalmente aggiungi la riga in fondo - // Cerca una riga che abbia gia' il tipo ed il conto richiesto + // Cerca una riga che abbia già il tipo ed il conto richiesto if (strchr(" DINT", tipo) != NULL) { int nr = -1; @@ -2349,13 +2349,13 @@ bool TPrimanota_application::link_anal(const TMask& msk, const char* action) if (action[0] == 'I') { - // Se non ci sono conti analitici e' inutile inserire + // Se non ci sono conti analitici è inutile inserire if (!bAnalBill) return false; } - // Controllo se esiste gia' il movimento + // Controllo se esiste già il movimento long nExist = 0L; TLocalisamfile movana(LF_MOVANA); movana.setkey(3); @@ -2370,12 +2370,12 @@ bool TPrimanota_application::link_anal(const TMask& msk, const char* action) if (!bAnalBill) // Non c'erano e non ci sono tuttora conti analitici return false; - action = "Insert"; // Il movimento e' andato perduto! + action = "Insert"; // Il movimento è andato perduto! } else { if (action[0] == 'I') - action = "Modify"; // Il movimento e' stato inserito preventivamente + action = "Modify"; // Il movimento è stato inserito preventivamente } TFilename ini; ini.tempdir(); @@ -2413,17 +2413,17 @@ bool TPrimanota_application::protected_record(TRectype& mov) { if (mov.get_bool(MOV_STAMPATO)) { - ok = yesno_box(FR("Il movimento %ld e' gia' stato stampato sul libro giornale:\n" + ok = yesno_box(FR("Il movimento %ld è già stato stampato sul libro giornale:\n" "si desidera eliminarlo ugualmente?"), numreg); } if (ok && mov.get_bool(MOV_REGST)) { - ok = yesno_box(FR("Il movimento %ld e' gia' stato stampato sul bollato:\n" + ok = yesno_box(FR("Il movimento %ld è già stato stampato sul bollato:\n" "si desidera eliminarlo ugualmente?"), numreg); } if (ok && mov.get_bool(MOV_INVIATO)) { - ok = yesno_box(FR("Il movimento %ld e' stato inviato ad un'altra contabilita':\n" + ok = yesno_box(FR("Il movimento %ld è stato inviato ad un'altra contabilità:\n" "si desidera eliminarlo ugualmente?"), numreg); } if (ok) diff --git a/cg/cg4.cpp b/cg/cg4.cpp index a20c2bf05..5e7960f13 100755 --- a/cg/cg4.cpp +++ b/cg/cg4.cpp @@ -13,7 +13,7 @@ int main(int argc,char** argv) case 4: cg4500(argc,argv); break; // Apertura nuovo esercizio case 5: cg4600(argc,argv); break; // Chiusura /Apertura case 6: cg4700(argc,argv); break; // Gestione acconti - case 7: cg4800(argc,argv); break; // Creazione versamenti per acconto + //case 7: cg4800(argc,argv); break; // Creazione versamenti per acconto case 8: cg4900(argc,argv); break; // Visualizzazione liquidazione acconti case 9: cg4a00(argc,argv); break; // Gestione Autotrasportatori default: cg4100(argc,argv); break; // Ricalcolo saldi diff --git a/cg/cg4300.cpp b/cg/cg4300.cpp index 5fcbd0a27..9a51cf567 100755 --- a/cg/cg4300.cpp +++ b/cg/cg4300.cpp @@ -531,6 +531,7 @@ bool TLiquidazione_app::set_print(int) warning_box(TR("Nessuna ditta selezionata!")); } break; +/* case 2: // estrazione deleghe _isprint = FALSE; _selected.reset(); @@ -546,25 +547,30 @@ bool TLiquidazione_app::set_print(int) else warning_box(TR("Nessuna ditta selezionata!")); } break; +*/ case 3: // calcolo acconto - _isprint = TRUE; - _month = 12; - _selected.reset(); - _ditte->check(-1, FALSE); - build_ditte_sheet(all); - real inf; real ina; // cotale obbrobrio non fu da me cercato, ne' mai condiviso - while (set_acconto(inf, ina)) - { - if (_calcall || _selected.ones() > 0l) - { - recalc_acconti(inf, ina); - return _isprint; - } - else warning_box(TR("Nessuna ditta selezionata!")); + { + _isprint = TRUE; + _month = 12; + _selected.reset(); + _ditte->check(-1, FALSE); + build_ditte_sheet(all); + real inf; real ina; // cotale obbrobrio non fu da me cercato, ne' mai condiviso + while (set_acconto(inf, ina)) + { + if (_calcall || _selected.ones() > 0l) + { + recalc_acconti(inf, ina); + return _isprint; + } + else warning_box(TR("Nessuna ditta selezionata!")); + } } break; + default: + break; } - return FALSE; + return false; } long TLiquidazione_app::select_firm_range(long from, long to, wht freq) diff --git a/cg/cg4300.h b/cg/cg4300.h index 4ab5491c2..c6862014e 100755 --- a/cg/cg4300.h +++ b/cg/cg4300.h @@ -592,10 +592,13 @@ public: void set_plm(_DescrItem& d); bool set_annual(_DescrItem& d); void set_grand(_DescrItem& d); - void set_grand_1999(_DescrItem& d, int &rw); + // void set_grand_1999(_DescrItem& d, int &rw); void set_grand_2000(_DescrItem& d, int &rw); void set_pim_head(_DescrItem& d); - void set_liqacc_1999(_DescrItem& d); + // void set_liqacc_1999(_DescrItem& d); + + int calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const; + int print_acc_diff_xcassa(const _DescrItem& d); void set_liqacc_2000(_DescrItem& d); // Utility per stampare nella colonna debito o credito @@ -658,13 +661,15 @@ public: bool is_first_month (int m); int liq_month(int x); - int previous_month (int m); + int previous_month (int m) const; - // Funzioni accessorie: estrazione deleghe + /* Funzioni accessorie: estrazione deleghe bool set_deleghe(); bool extract_deleghe(); bool extract_delega(int m, TArray& desc); bool video_conferma(const real&, const real&, const real&, bool to_del = FALSE); + */ + // stampa void set_deltab(_DescrItem& d, bool iscred); diff --git a/cg/cg4302.cpp b/cg/cg4302.cpp index a7f3cd16c..b38568669 100755 --- a/cg/cg4302.cpp +++ b/cg/cg4302.cpp @@ -98,7 +98,7 @@ bool TLiquidazione_app::is_first_month(int m) return _freqviva == "M" ? m == 1 : m == 3; } -int TLiquidazione_app::previous_month(int m) +int TLiquidazione_app::previous_month(int m) const { // vale per LIM (mese o trimestre precedente) if (_freqviva == "M") diff --git a/cg/cg4304.cpp b/cg/cg4304.cpp index b3b66fb7d..e0836436e 100755 --- a/cg/cg4304.cpp +++ b/cg/cg4304.cpp @@ -4,7 +4,7 @@ // fv 21-1-94 // ------------------------------------------------------------ -#include +#include #include #include #include @@ -91,10 +91,14 @@ void TLiquidazione_app::set_page(int file, int cnt) set_grand(d); break; case LIQACC: +/* Obsoleto if (atoi(_year) >= 2000) set_liqacc_2000(d); else set_liqacc_1999(d); + */ + set_liqacc_2000(d); + break; case ACCONTO: set_acconto_p(d); @@ -1400,7 +1404,6 @@ void TLiquidazione_app::describe_consistence(const char* codatt) } } - void TLiquidazione_app::describe_error(const char* err, const char* codatt) { if (!_isprint || !_canprint || (_isregis && _isfinal)) @@ -1418,14 +1421,13 @@ void TLiquidazione_app::set_firm(_DescrItem& d) tim_title << TR("Liquidazione IVA"); if (d._f1 == 13) - tim_title << format(FR(": Riepilogo Annuale %s"),(const char*)_year); + tim_title << format(FR(": Riepilogo Annuale %s"), (const char*)_year); else { if (d._s2 == "T") - tim_title << format(FR(" del %d° Trimestre %s"), d._f1/3, (const char *) _year); + tim_title << format(FR(" del %d° Trimestre %s"), d._f1/3, (const char*) _year); else - tim_title << format(FR(" del mese di %s %s"), itom(d._f1), - (const char*)_year); + tim_title << format(FR(" del mese di %s %s"), itom(d._f1), (const char*)_year); } reset_header(); @@ -1438,15 +1440,13 @@ void TLiquidazione_app::set_firm(_DescrItem& d) } set_header(soh++,sep); set_header(soh++,FR("%s@102gFrequenza %s"), - (const char*)tim_title, - d._s2 == "T" ? TR("Trimestrale") : TR("Mensile")); + (const char*)tim_title, d._s2 == "T" ? TR("Trimestrale") : TR("Mensile")); set_header(soh++,sep); set_header(soh++,""); // notify errors if any int j = 0; - int i; - + int i = 0; for (i = 0; i < _errors.items(); i++) { _ErrItem& s = (_ErrItem&)_errors[i]; @@ -1489,10 +1489,9 @@ void TLiquidazione_app::set_att(_DescrItem& d) else { if (d._s4 == "T") - tim_title << format(FR(" del %d° Trimestre %s"), d._f1/3, (const char *) _year); + tim_title << format(FR(" del %d° Trimestre %s"), d._f1/3, (const char*)_year); else - tim_title << format(FR(" del mese di %s %s"), itom(d._f1), - (const char*)_year); + tim_title << format(FR(" del mese di %s %s"), itom(d._f1), (const char*)_year); } const char* tipatt = ""; @@ -1528,10 +1527,10 @@ void TLiquidazione_app::set_att(_DescrItem& d) if (d._s2 == s._att && s._firm == d._s0) { j++; set_row(i+10, "@5g@b*** %s ***@r", (const char*)s._err); } } - if (j) set_auto_ff(TRUE); + if (j) + set_auto_ff(TRUE); } - void TLiquidazione_app::set_plafond(_DescrItem& d) { // In caso di stampa liquidazione da stampa registri, il prospetto plafond @@ -1550,8 +1549,7 @@ void TLiquidazione_app::set_plafond(_DescrItem& d) set_print_zero(TRUE); - set_row(1,TR("QUADRO RELATIVO ALLA DISPONIBILITA' ED ALL'UTILIZZO " - "MENSILE DEI PLAFONDS")); + set_row(1,TR("QUADRO RELATIVO ALLA DISPONIBILITA' ED ALL'UTILIZZO MENSILE DEI PLAFONDS")); set_row(2,""); set_row(3,FR("@31gDisponibile@48g%r"), &(disponibile)); @@ -1574,6 +1572,8 @@ void TLiquidazione_app::set_plafond(_DescrItem& d) set_auto_ff(); } +/* Obsoleto + void TLiquidazione_app::set_liqacc_1999(_DescrItem& d) { real r1 = d._r0 + d._r1 + d._r2 + d._r4; @@ -1632,6 +1632,91 @@ void TLiquidazione_app::set_liqacc_1999(_DescrItem& d) set_auto_ff(); } +*/ + +int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const +{ + int flag = 0; + + imponibile_diff = imposta_diff = imponibile_xcas = imposta_xcas = ZERO; + + TString limit; limit << "ANNOLIQ=" << _year; + if (_month < 13) limit << " MESELIQ=" << _month; + TString query; + query << "USE IVADIFF KEY 2 SELECT (TIPOMOV>2)&&(TIPOIVA=" << tipoiva << ')'; + query << "\nFROM " << limit << "\nTO " << limit; + + TISAM_recordset id(query); + const TRectype& rec = id.cursor()->curr(); + for (bool ok = id.move_first(); ok; ok = id.move_next()) + { + const real iva = rec.get_real(RMI_IMPOSTA); + if (iva > ZERO) + { + const real imp = rec.get_real(RMI_IMPONIBILE); + const int tipodiff = rec.get_int("TIPODIFF"); + if (tipodiff == 1) + { + imponibile_diff += imp; + imposta_diff += iva; + } else + if (tipodiff == 2) + { + imponibile_xcas += imp; + imposta_xcas += iva; + } + flag |= tipodiff; + } + } + + return flag; +} + +int TLiquidazione_app::print_acc_diff_xcassa(const _DescrItem& d) +{ + int i = 9; + + const real& totiva = d._r0; + real ivadiff_inc = d._r29; + real ivadiff_pag = d._r33; + + real ivaxcas_inc, ivaxcas_pag; + + if (has_module(ICAUT)) + { + // Calcolare qui la quota per cassa e toglierla a quella differita gloable + } + + if (!_isdiffacc) + { + set_row(i++,FR("@11gIva esigibile fino al 20/12@81g%r"), &totiva); + + if (ivadiff_inc > ZERO) + set_row(i++,FR("@11gIVA a liquidazione differita incassata fino al 20/12@75g%r"), &ivadiff_inc); + if (ivadiff_pag > ZERO) + set_row(i++,FR("@11gIVA a liquidazione differita pagata fino al 20/12@64g%r"), &ivadiff_pag); + + if (ivaxcas_inc > ZERO) + set_row(i++,FR("@11gIVA per cassa incassata fino al 20/12@75g%r"), &ivaxcas_inc); + if (ivaxcas_pag > ZERO) + set_row(i++,FR("@11gIVA per cassa pagata fino al 20/12@64g%r"), &ivaxcas_pag); + } + else + { + set_row(i++,FR("@11gIva sulle operazioni di vendita@81g%r"), &totiva); + + if (ivadiff_inc > ZERO) + set_row(i++,FR("@11gIVA a liquidazione differita incassata@75g%r"), &ivadiff_inc); + if (ivadiff_pag > ZERO) + set_row(i++,FR("@11gIVA a liquidazione differita pagata@64g%r"), &ivadiff_pag); + + if (ivadiff_inc > ZERO) + set_row(i++,FR("@11gIVA per cassa incassata@75g%r"), &ivadiff_inc); + if (ivadiff_pag > ZERO) + set_row(i++,FR("@11gIVA per cassa pagata@64g%r"), &ivadiff_pag); + } + return i; +} void TLiquidazione_app::set_liqacc_2000(_DescrItem& d) { @@ -1645,23 +1730,9 @@ void TLiquidazione_app::set_liqacc_2000(_DescrItem& d) if (d._r3 > ZERO) d._r0 += d._r3; // Aggiungi rettifiche a debito - int i = 9; - if (!_isdiffacc) - { - set_row(i++,FR("@11gIva esigibile fino al 20/12@81g%r"), &d._r0); - if (d._r29 > ZERO) - set_row(i++,FR("@11gIVA a liquidazione differita incassata fino al 20/12@75g%r"), &d._r29); - if (d._r33 > ZERO) - set_row(i++,FR("@11gIVA a liquidazione differita pagata fino al 20/12@64g%r"), &d._r33); - } - else - { - set_row(i++,FR("@11gIva sulle operazioni di vendita@81g%r"), &d._r0); - if (d._r29 > ZERO) - set_row(i++,FR("@11gIVA a liquidazione differita incassata@75g%r"), &d._r29); - if (d._r33 > ZERO) - set_row(i++,FR("@11gIVA a liquidazione differita pagata@64g%r"), &d._r33); - } + + int i = print_acc_diff_xcassa(d); + if (!_isdiffacc) { set_row(i++,FR("@11gIva esigibile fino al 20/12 di cui non fatturata@81g%r"), &d._r1); @@ -1714,6 +1785,8 @@ void TLiquidazione_app::set_liqacc_2000(_DescrItem& d) set_auto_ff(); } +/* + bool TLiquidazione_app::print_dainc_diff_log(int& rw, int tipoatt, int tipoiva) { TString limit; limit << "ANNOLIQ=" << _year; @@ -1833,8 +1906,7 @@ bool TLiquidazione_app::print_inc_diff_log(int& rw, int tipoatt, int tipoiva) return rpag > 0; } - - +*/ void TLiquidazione_app::set_pim_head(_DescrItem& d) { @@ -1849,7 +1921,7 @@ void TLiquidazione_app::set_pim_head(_DescrItem& d) { set_row(r++, TR("Movimenti a liquidazione differita o per cassa registrati nel periodo")); set_bookmark(TR("Riepilogo progressivi a liquidazione differita"), _att_bookmark); - print_dainc_diff_log(r, d._f2, d._f3); + // print_dainc_diff_log(r, d._f2, d._f3); // 15-03-2013 obosleto in quanto stampato su registri? } else if (d._flags == PIM_HEAD_DI) @@ -2220,6 +2292,7 @@ void TLiquidazione_app::set_pumpam(_DescrItem& d) set_auto_ff(TRUE); } +/* void TLiquidazione_app::set_grand_1999(_DescrItem& d, int& rw) { real& risultato = d._r0; @@ -2373,6 +2446,7 @@ void TLiquidazione_app::set_grand_1999(_DescrItem& d, int& rw) } } } +*/ void TLiquidazione_app::print_importo(int rw, const char* prompt, real imp, bool red) { @@ -2399,8 +2473,28 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw) const real& interessi = d._r7; const real& versamenti = d._r8; const real& vers_int = d._r9; - const real& diffinc_iva = d._r29; - const real& diffinc_iva_acq = d._r33; + + real diffinc_iva = d._r29; + real diffinc_iva_acq = d._r33; + real xcasinc_iva = ZERO; + real xcasinc_iva_acq = ZERO; + + if (has_module(ICAUT) && (!diffinc_iva.is_zero() || !diffinc_iva_acq.is_zero())) + { + real dimp, diva, ximp, xiva; + + if (!diffinc_iva.is_zero() && calc_inc_diff(1, dimp, diva, ximp, xiva) & 0x2) + { + diffinc_iva = diva; + xcasinc_iva = xiva; + } + if (!diffinc_iva_acq.is_zero() && calc_inc_diff(2, dimp, diva, ximp, xiva) & 0x2) + { + diffinc_iva_acq = diva; + xcasinc_iva_acq = xiva; + } + } + TToken_string tt(d._s0); real iva_vend(tt.get(0)); @@ -2433,6 +2527,8 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw) set_row(rw++,FR("@11gIVA esigibile per il periodo@75g%r"), &iva_vend); if (!diffinc_iva.is_zero()) set_row(rw++,FR("@11gIVA a liquidazione differita incassata@75g%r"), &diffinc_iva); + if (!xcasinc_iva.is_zero()) + set_row(rw++,FR("@11gIVA per cassa incassata@75g%r"), &xcasinc_iva); if (_is_visliq) set_row(rw++,FR("@11g$[r]Rettifiche IVA a debito$[n]@75g%r"), &rett_debt); // Rettifiche modificabili @@ -2581,12 +2677,16 @@ void TLiquidazione_app::set_grand(_DescrItem& d) set_row(6,""); int rw = 7; + /* const bool new_print = atoi(_year) >= 2000; if (new_print) set_grand_2000(d, rw); else set_grand_1999(d, rw); + */ + set_grand_2000(d, rw); + // rapportini per rimborso infraannuale // non si stampano se la stampa serve per la visualizz. // solo in st.di prova in coda ai registri deve scendere diff --git a/cg/cg4305.cpp b/cg/cg4305.cpp index 51c15e6f0..9bdbd0457 100755 --- a/cg/cg4305.cpp +++ b/cg/cg4305.cpp @@ -17,6 +17,7 @@ #include "cg4300c.h" #include "cg4800b.h" +/* // -------------------------------------------------- estrazione deleghe bool TLiquidazione_app::set_deleghe() @@ -418,6 +419,9 @@ bool TLiquidazione_app::video_conferma(const real& newimp, const real& intr, return k == K_YES; } +*/ + + // -------------------------------------------- calcolo acconto dicembre bool TLiquidazione_app::set_acconto(real& inf, real& ina) { diff --git a/cg/cg4400.cpp b/cg/cg4400.cpp index d87ea1236..0d9e7b30d 100755 --- a/cg/cg4400.cpp +++ b/cg/cg4400.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include #include @@ -26,8 +25,8 @@ #include #include #include -#include #include +#include #include static enum tipo_sospensione { nessuna, normale, vol_affari, liquidazione }; diff --git a/cg/cglib01.h b/cg/cglib01.h index e19ef5c9d..012e15f1f 100755 --- a/cg/cglib01.h +++ b/cg/cglib01.h @@ -152,6 +152,7 @@ public: // TObject const TString& tipo() const { return get("S1"); } int detraibilita() const { return get_int("I1"); } int allegato(char tipocf) const { return get_int(tipocf == 'F' ? "S8" : "S7"); } + bool has_plafond() const { return get_int("S3") > 0; } real imposta(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Calcola l'imposta sull'imponibile l'imposta e la ritorna real scorpora(real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Scorpora dall'imponibile l'imposta e la ritorna diff --git a/cg/cgsalda3.cpp b/cg/cgsalda3.cpp index 7c11bca2f..51d904044 100755 --- a/cg/cgsalda3.cpp +++ b/cg/cgsalda3.cpp @@ -666,17 +666,21 @@ TFieldtypes TSolder_tree::get_var(const TString& name, TVariant& var) const } else if (name == PAGSCA_ABBUONI) { - set_var_real(var, rpag.get_real(name), show_val()); + const real a = pag.get_real(name); + set_var_real(var, a, show_val()); } else if (name == PAGSCA_DIFFCAM) { if (_codval.full() && !show_val()) - set_var_real(var, rpag.get_real(name), false); + { + const real d = pag.get_real(name); + set_var_real(var, d, false); + } } else if (name == PAGSCA_RITENUTE) { if (_codval.empty()) - set_var_real(var, rpag.get_real(name), false); + set_var_real(var, pag.get_real(name), false); } else if (name == PAGSCA_RITSOC) {