diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp index 093065830..53f9e4152 100755 --- a/cg/cg4301.cpp +++ b/cg/cg4301.cpp @@ -155,7 +155,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc) _isintr = !cnf.get_bool("InTrTr") && _freqviva != "M"; bool gest4 = FALSE; //usato alla riga 342 per stampa acconto if (_isbenzinaro) - gest4 = cnf.get_bool("GesT74"); + _gest4 = cnf.get_bool("GesT74"); // controlla che il periodo corrente non sia l'inizio dell'attivita' // nel caso, differita va a FALSE TDate inatt(_nditte->lfile().get("DINIZIOATT")); @@ -340,9 +340,9 @@ bool TLiquidazione_app::update_firm(int month, bool recalc) //dell'acconto in coda al resto if (_isregis && stliq) if ((month == 12 && _freqviva == "M") || - (month == 12 && _isbenzinaro && gest4) || + (month == 12 && _isbenzinaro && _gest4) || (_isannual && _freqviva == "T" && !_isbenzinaro) || - (_isannual && _isbenzinaro && !gest4)) + (_isannual && _isbenzinaro && !_gest4)) describe_liqacc(); } return ok || calc; @@ -791,14 +791,15 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt) * senza porsi domande e mettendo NUMERI uguali * al TIPO RECORD del frigorifero */ - if (tipomov == vendita) - { - if (tipoagr == 1 || tipoagr == 3) - { - agr_1 += imposta; + if ( if (_isagricolo) + { + /* + * rifatto sensu Scudler 1995 con invidiabile sicurezza + a; agr_1i += imponibile; } - else if (tipoagr == 2) + a; + agr_1i ) { agr_2 += imposta; agr_2i += imponibile; @@ -1603,8 +1604,14 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) /* * acconto dicembre se previsto */ + /* if ((month == 12 && _isbenzinaro) || (month >= 12 && _freqviva == "M")) + */ + if ((month == 12 && _freqviva == "M") || + (month == 12 && _isbenzinaro && _gest4) || + (_isannual && _freqviva == "T" && !_isbenzinaro) || + (_isannual && _isbenzinaro && !_gest4)) { risultato -= versamenti_IVA(12,"7"); acc_dec = versamenti_IVA(12,"7"); @@ -1640,7 +1647,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) * Ora gestito esplicitamente nei parametri ditta, forzato * FALSE per ditte mensili e liq. annuale */ - if (_isintr && month < 13) + //if (_isintr && month < 13) + if ((_isintr && ((month != 12 || (_isbenzinaro && !_gest4))))) { real interesse = interesse_trimestrale(_month); real ivi = risultato * (interesse / CENTO); @@ -1649,7 +1657,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) } // questo serve anche per la visualizzazione e per l'estrazione deleghe - if (_isintr && month < 13) + //if (_isintr && month < 13) + if ((_isintr && ((month != 12 || (_isbenzinaro && !_gest4))))) _lim->put("R10",interesse_trimestrale(_month)); // totale conguaglio su tutte le attivita'