Introdotta inibizione per calcolo gia' stampato su bollato
solo se da stampa registri git-svn-id: svn://10.65.10.50/trunk@894 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
27f2eb57f1
commit
1de31e18c3
@ -26,11 +26,13 @@ TLiquidazione_app::TLiquidazione_app() :
|
|||||||
_ditte(NULL), _selected(10000),
|
_ditte(NULL), _selected(10000),
|
||||||
_year(4), _nomiditte(100)
|
_year(4), _nomiditte(100)
|
||||||
{
|
{
|
||||||
_isprint = _is_interactive = TRUE; _recalc = needed;
|
_isprint = _is_interactive = _canprint = TRUE;
|
||||||
_isplafond = _printonly = _is_visliq = FALSE;
|
_isplafond = _printonly = _is_visliq = FALSE;
|
||||||
_isvent = _isagricolo = _isbenzinaro = _isviaggio = FALSE;
|
_isvent = _isagricolo = _isbenzinaro = _isviaggio = FALSE;
|
||||||
_row = 1; _what = all; _comp_acconto = FALSE;
|
_row = 1; _what = all; _comp_acconto = FALSE;
|
||||||
_isriepilogo = FALSE; _calcall = FALSE;
|
_isriepilogo = FALSE; _calcall = FALSE;
|
||||||
|
_isfinal = _isregis = FALSE;
|
||||||
|
_recalc = needed;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TLiquidazione_app::user_create()
|
bool TLiquidazione_app::user_create()
|
||||||
@ -77,9 +79,12 @@ bool TLiquidazione_app::user_create()
|
|||||||
{
|
{
|
||||||
_year = subj.get(0);
|
_year = subj.get(0);
|
||||||
_month = subj.get_int(1);
|
_month = subj.get_int(1);
|
||||||
ditta = subj.get_long(2);
|
ditta = subj.get_long(2);
|
||||||
recalc_only = *(subj.get(3)) == 'C';
|
char rcl = *(subj.get(3));
|
||||||
_is_visliq = *(subj.get(3)) == 'V';
|
recalc_only = rcl == 'C';
|
||||||
|
_is_visliq = rcl == 'V';
|
||||||
|
_isregis = (rcl == 'l' || rcl == 'L'); // stampa per registri
|
||||||
|
_isfinal = rcl == 'l'; // se l minuscolo, definitivo
|
||||||
printdate = subj.get(4);
|
printdate = subj.get(4);
|
||||||
filename = subj.get(5);
|
filename = subj.get(5);
|
||||||
is_header = subj.items() == 6;
|
is_header = subj.items() == 6;
|
||||||
|
@ -179,6 +179,8 @@ class TLiquidazione_app : public TPrint_application
|
|||||||
bool _isdifferita; // liquidazione differita
|
bool _isdifferita; // liquidazione differita
|
||||||
bool _calcall; // tutte le ditte nessuna esclusa
|
bool _calcall; // tutte le ditte nessuna esclusa
|
||||||
bool _isbase; // stampa base di calcolo acconto
|
bool _isbase; // stampa base di calcolo acconto
|
||||||
|
bool _isfinal; // stampa definitiva (su registro bollato)
|
||||||
|
bool _isregis; // stampa per registro
|
||||||
tbc _basecalc; // tipo base di calcolo acconto
|
tbc _basecalc; // tipo base di calcolo acconto
|
||||||
TString _freqviva; // frequenza versamenti (M|T}
|
TString _freqviva; // frequenza versamenti (M|T}
|
||||||
long _n_ditte; // numero ditte
|
long _n_ditte; // numero ditte
|
||||||
|
@ -106,7 +106,10 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
// stato effettuato per scelta dello stronzo commercialista.
|
// stato effettuato per scelta dello stronzo commercialista.
|
||||||
|
|
||||||
look_lim(month, TRUE);
|
look_lim(month, TRUE);
|
||||||
|
|
||||||
|
if (_isregis && _lim->get_bool("B1"))
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
TConfig cnf(CONFIG_DITTA, "cg");
|
TConfig cnf(CONFIG_DITTA, "cg");
|
||||||
_isdifferita = cnf.get_bool("GeLiDi");
|
_isdifferita = cnf.get_bool("GeLiDi");
|
||||||
TConfig cnf1(CONFIG_STUDIO, "cg");
|
TConfig cnf1(CONFIG_STUDIO, "cg");
|
||||||
@ -362,7 +365,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tipo documento da eliminare (Scudler 1994)
|
* Tipo documento da eliminare (Scudler 1994)
|
||||||
|
* Trattasi per lo piu' di non incassati
|
||||||
*/
|
*/
|
||||||
if (tipodoc == "SN" || tipodoc == "CN" || tipodoc == "RN" ||
|
if (tipodoc == "SN" || tipodoc == "CN" || tipodoc == "RN" ||
|
||||||
tipodoc == "IN" || tipodoc == "PG")
|
tipodoc == "IN" || tipodoc == "PG")
|
||||||
@ -873,7 +877,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TLiquidazione_app::write_liq(int month, const char* codatts)
|
void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||||
// Calcolo liq. mensili e progr. liq. annuali
|
// Calcolo liq. mensili e liq. annuali
|
||||||
{
|
{
|
||||||
TToken_string atts(codatts);
|
TToken_string atts(codatts);
|
||||||
const char* tmpatt;
|
const char* tmpatt;
|
||||||
@ -925,9 +929,10 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (int m = 1; m <= 12; m++)
|
for (int m = 1; m <= month; m++)
|
||||||
{
|
{
|
||||||
// ciclo su tutti i mesi del caso (1 o 3, o tutti se annuale)
|
// ciclo su tutti i mesi del caso (1 o 3;
|
||||||
|
// tutti se annuale, compreso 13
|
||||||
if (!is_month_ok(m, month))
|
if (!is_month_ok(m, month))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -989,14 +994,24 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
look_lim(month,TRUE);
|
look_lim(month,TRUE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* versamenti effettuati: si conteggiano in R0
|
||||||
|
* - annuali se annuale
|
||||||
|
*/
|
||||||
|
|
||||||
_lim->put("R0",risultato);
|
_lim->put("R0",risultato);
|
||||||
_lim->put("R2",cred_cost);
|
_lim->put("R2",cred_cost);
|
||||||
_lim->put("R3",deb_mens);
|
_lim->put("R3",deb_mens);
|
||||||
_lim->put("R4",perc_r);
|
_lim->put("R4",perc_r);
|
||||||
_lim->put("R6",detrazioni);
|
_lim->put("R6",detrazioni);
|
||||||
|
|
||||||
if (_freqviva == "T" && risultato.sign() > 0)
|
/*
|
||||||
|
* Interessi dovuti solo da trimestrali in periodica,
|
||||||
|
* non benzinari
|
||||||
|
*/
|
||||||
|
if (_freqviva == "T" && risultato.sign() > 0 &&
|
||||||
|
month < 12 && !_isbenzinaro)
|
||||||
{
|
{
|
||||||
real interesse = interesse_trimestrale(_month);
|
real interesse = interesse_trimestrale(_month);
|
||||||
real ivi = risultato * interesse / CENTO; ivi.ceil(ROUND_LIRA);
|
real ivi = risultato * interesse / CENTO; ivi.ceil(ROUND_LIRA);
|
||||||
@ -1004,6 +1019,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
_lim->put("B0","X");
|
_lim->put("B0","X");
|
||||||
|
if (_isfinal)
|
||||||
|
_lim->put("B1", "X");
|
||||||
_lim->rewrite();
|
_lim->rewrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ bool TLiquidazione_app::is_month_ok(int x, int mtocalc)
|
|||||||
// rispetto al regime di liquidazione scelto
|
// rispetto al regime di liquidazione scelto
|
||||||
{
|
{
|
||||||
bool ret = x == mtocalc;
|
bool ret = x == mtocalc;
|
||||||
if (!ret && _freqviva == "T")
|
if (!ret && _freqviva == "T" && mtocalc != 13)
|
||||||
{
|
{
|
||||||
// aggiusta al trimestre il mese da calcolare
|
// aggiusta al trimestre il mese da calcolare
|
||||||
mtocalc += 2 - ((mtocalc-1) % 3);
|
mtocalc += 2 - ((mtocalc-1) % 3);
|
||||||
|
@ -160,12 +160,14 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
|||||||
{
|
{
|
||||||
look_iva(*_pim_codiva);
|
look_iva(*_pim_codiva);
|
||||||
|
|
||||||
// soltanto normali ed esenti IVA sono base di riparto
|
// base di riparto solo se non esente, non soggetto, non imponibile
|
||||||
if (_iva->get("S1").empty() || _iva->get("S1") == "ES")
|
TString tipoiva(_iva->get("S1"));
|
||||||
|
|
||||||
|
if (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES")
|
||||||
{
|
{
|
||||||
real lurd = _pim->get_real("R0");
|
real lurd = _pim->get_real("R0");
|
||||||
lurd += _pim->get_real("R1");
|
lurd += _pim->get_real("R1");
|
||||||
real perc = _iva->get_real("R0");
|
real perc = _iva->get_real("R0");
|
||||||
TString other = _iva->get("S6");
|
TString other = _iva->get("S6");
|
||||||
if (!other.empty())
|
if (!other.empty())
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user