Corretto MI6160, MI6161, MI2259, MI2262.
git-svn-id: svn://10.65.10.50/trunk@3966 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b177b0ab6f
commit
40211f0926
477
cg/cg4301.cpp
477
cg/cg4301.cpp
@ -1353,28 +1353,31 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
||||||
// viene chiamata quando vengonon scorsi i movimenti del mese, settando gran parte degli elementi di _iva11_arr.
|
// viene chiamata quando vengono scorsi i movimenti del mese, settando gran parte degli elementi di _iva11_arr.
|
||||||
{
|
{
|
||||||
|
// My God! Che 2 palle riestrarre tutte le informazioni
|
||||||
const TString16 tipodoc = _mov->get("TIPODOC");
|
const TString16 tipodoc = _mov->get("TIPODOC");
|
||||||
const real imponibile = _rmoviva->get_real("IMPONIBILE");
|
|
||||||
const real imposta = _rmoviva->get_real("IMPOSTA");
|
|
||||||
const bool intra = _rmoviva->get_bool("INTRA");
|
const bool intra = _rmoviva->get_bool("INTRA");
|
||||||
const int tipocr = _rmoviva->get_int("TIPOCR");
|
const int tipocr = _rmoviva->get_int("TIPOCR");
|
||||||
const int tipodet = _rmoviva->get_int("TIPODET");
|
const int tipodet = _rmoviva->get_int("TIPODET");
|
||||||
const TString codiva = _iva->get("CODTAB");
|
real imponibile = _rmoviva->get_real("IMPONIBILE");
|
||||||
|
real imposta = _rmoviva->get_real("IMPOSTA");
|
||||||
|
const TString16 codiva = _iva->get("CODTAB");
|
||||||
const TString tipoiva = _iva->get("S1");
|
const TString tipoiva = _iva->get("S1");
|
||||||
const real ali = _iva->get_real("R0");
|
const real ali = _iva->get_real("R0");
|
||||||
const TString tipoes_v = _iva->get("S2");
|
const TString16 tipoes_v = _iva->get("S2");
|
||||||
const TString tipoes_a = _iva->get("S9");
|
const TString16 tipoes_a = _iva->get("S9");
|
||||||
const int tipoagr = atoi(_iva->get("S4"));
|
const int tipoagr = atoi(_iva->get("S4"));
|
||||||
const TRectype& rcs = _cur->curr(LF_CAUSALI);
|
const TRectype& rcs = _cur->curr(LF_CAUSALI);
|
||||||
const bool autofattura = rcs.get_bool("AUTOFATT");
|
const bool autofattura = rcs.get_bool("AUTOFATT");
|
||||||
const bool valintra = rcs.get_bool("VALINTRA");
|
const bool valintra = rcs.get_bool("VALINTRA");
|
||||||
const bool sosp_imp = _reg->get_bool("B1");
|
const bool sosp_imp = _reg->get_bool("B1");
|
||||||
|
const bool corrisp = _reg->get_bool("B0");
|
||||||
tiporeg tipomov = (tiporeg)_reg->get_long("I0");
|
tiporeg tipomov = (tiporeg)_reg->get_long("I0");
|
||||||
const bool is_vendita = tipomov == vendita;
|
const bool is_vendita = tipomov == vendita;
|
||||||
const bool is_acquisto = tipomov == acquisto;
|
const bool is_acquisto = tipomov == acquisto;
|
||||||
|
|
||||||
|
|
||||||
_BolgArray b_arr;
|
_BolgArray b_arr;
|
||||||
const bool is_key = _iva11_arr.is_key(codatt);
|
const bool is_key = _iva11_arr.is_key(codatt);
|
||||||
_BolgArray& array = is_key ? (_BolgArray&)_iva11_arr.find(codatt) : b_arr;
|
_BolgArray& array = is_key ? (_BolgArray&)_iva11_arr.find(codatt) : b_arr;
|
||||||
@ -1424,59 +1427,61 @@ void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
|||||||
|
|
||||||
if (tipodoc != "BD")
|
if (tipodoc != "BD")
|
||||||
{ // Compila prima i campi FC1nn ed FC2nn, poi i campi SBFnn ed SBInn
|
{ // Compila prima i campi FC1nn ed FC2nn, poi i campi SBFnn ed SBInn
|
||||||
if (ali == 2.00)
|
if (tipodet != 9)
|
||||||
{
|
{
|
||||||
array.add(imponibile,TAB11_FC101);
|
if (ali == 2.00)
|
||||||
array.add(imposta,TAB11_FC201);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC101);
|
||||||
else if (ali == 4.00)
|
array.add(imposta,TAB11_FC201);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC102);
|
else if (ali == 4.00)
|
||||||
array.add(imposta,TAB11_FC202);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC102);
|
||||||
else if (ali == 8.50)
|
array.add(imposta,TAB11_FC202);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC103);
|
else if (ali == 8.50)
|
||||||
array.add(imposta,TAB11_FC203);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC103);
|
||||||
else if (ali == 9.00)
|
array.add(imposta,TAB11_FC203);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC104);
|
else if (ali == 9.00)
|
||||||
array.add(imposta,TAB11_FC204);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC104);
|
||||||
else if (ali == 10.00)
|
array.add(imposta,TAB11_FC204);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC105);
|
else if (ali == 10.00)
|
||||||
array.add(imposta,TAB11_FC205);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC105);
|
||||||
else if (ali == 13.00)
|
array.add(imposta,TAB11_FC205);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC106);
|
else if (ali == 13.00)
|
||||||
array.add(imposta,TAB11_FC206);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC106);
|
||||||
else if (ali == 16.00)
|
array.add(imposta,TAB11_FC206);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC107);
|
else if (ali == 16.00)
|
||||||
array.add(imposta,TAB11_FC207);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC107);
|
||||||
else if (ali == 19.00)
|
array.add(imposta,TAB11_FC207);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_FC108);
|
else if (ali == 19.00)
|
||||||
array.add(imposta,TAB11_FC208);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_FC108);
|
||||||
|
array.add(imposta,TAB11_FC208);
|
||||||
|
}
|
||||||
|
|
||||||
if (tipoes_a == "01")
|
if (tipoes_a == "01")
|
||||||
array.add(imponibile,TAB11_FC109);
|
array.add(imponibile,TAB11_FC109);
|
||||||
else if (tipoes_a == "12")
|
else if (tipoes_a == "12")
|
||||||
array.add(imponibile,TAB11_FC110);
|
array.add(imponibile,TAB11_FC110);
|
||||||
else if (tipoes_a == "13")
|
else if (tipoes_a == "13")
|
||||||
array.add(imponibile,TAB11_FC111);
|
array.add(imponibile,TAB11_FC111);
|
||||||
else if (tipoes_a == "14")
|
else if (tipoes_a == "14")
|
||||||
array.add(imponibile,TAB11_FC112);
|
array.add(imponibile,TAB11_FC112);
|
||||||
else if (tipoes_a == "15")
|
else if (tipoes_a == "15")
|
||||||
array.add(imponibile,TAB11_FC113);
|
array.add(imponibile,TAB11_FC113);
|
||||||
|
}
|
||||||
if (tipodet == 9)
|
else
|
||||||
{
|
{
|
||||||
array.add(imponibile,TAB11_FC114);
|
array.add(imponibile,TAB11_FC114);
|
||||||
if (_sind11)
|
if (_sind11)
|
||||||
@ -1485,47 +1490,49 @@ void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
|||||||
|
|
||||||
if (intra) // Compila i campi SBFnn
|
if (intra) // Compila i campi SBFnn
|
||||||
{
|
{
|
||||||
if (ali == 4.00)
|
if (tipodet != 9)
|
||||||
{
|
{
|
||||||
array.add(imponibile,TAB11_SBF01);
|
if (ali == 4.00)
|
||||||
array.add(imposta,TAB11_SBI01);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF01);
|
||||||
else if (ali == 9.00)
|
array.add(imposta,TAB11_SBI01);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_SBF02);
|
else if (ali == 9.00)
|
||||||
array.add(imposta,TAB11_SBI02);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF02);
|
||||||
else if (ali == 10.00)
|
array.add(imposta,TAB11_SBI02);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_SBF03);
|
else if (ali == 10.00)
|
||||||
array.add(imposta,TAB11_SBI03);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF03);
|
||||||
else if (ali == 13.00)
|
array.add(imposta,TAB11_SBI03);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_SBF04);
|
else if (ali == 13.00)
|
||||||
array.add(imposta,TAB11_SBI04);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF04);
|
||||||
else if (ali == 16.00)
|
array.add(imposta,TAB11_SBI04);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_SBF05);
|
else if (ali == 16.00)
|
||||||
array.add(imposta,TAB11_SBI05);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF05);
|
||||||
else if (ali == 19.00)
|
array.add(imposta,TAB11_SBI05);
|
||||||
{
|
}
|
||||||
array.add(imponibile,TAB11_SBF06);
|
else if (ali == 19.00)
|
||||||
array.add(imposta,TAB11_SBI06);
|
{
|
||||||
}
|
array.add(imponibile,TAB11_SBF06);
|
||||||
|
array.add(imposta,TAB11_SBI06);
|
||||||
|
}
|
||||||
|
|
||||||
if (tipoes_a == "01")
|
if (tipoes_a == "01")
|
||||||
array.add(imponibile,TAB11_SBF07);
|
array.add(imponibile,TAB11_SBF07);
|
||||||
else if (tipoes_a == "12")
|
else if (tipoes_a == "12")
|
||||||
array.add(imponibile,TAB11_SBF08);
|
array.add(imponibile,TAB11_SBF08);
|
||||||
else if (tipoes_a == "13")
|
else if (tipoes_a == "13")
|
||||||
array.add(imponibile,TAB11_SBF09);
|
array.add(imponibile,TAB11_SBF09);
|
||||||
else if (tipoes_a == "14")
|
else if (tipoes_a == "14")
|
||||||
array.add(imponibile,TAB11_SBF10);
|
array.add(imponibile,TAB11_SBF10);
|
||||||
|
}
|
||||||
if (tipodet == 9)
|
else
|
||||||
{
|
{
|
||||||
array.add(imponibile,TAB11_SBF11);
|
array.add(imponibile,TAB11_SBF11);
|
||||||
if (_sind11)
|
if (_sind11)
|
||||||
@ -1538,9 +1545,15 @@ void TLiquidazione_app::iva11_set_arr(const TString& codatt)
|
|||||||
|
|
||||||
if (is_vendita)
|
if (is_vendita)
|
||||||
{
|
{
|
||||||
|
if (corrisp && tipoiva != "VE" && (tipodoc == "CR" || tipodoc == "RF" || tipodoc == "SC") )
|
||||||
|
{
|
||||||
|
real p = ali/CENTO;
|
||||||
|
lordo2netto(imponibile,imposta,p);// In tal caso scorpora l'iva dall'imponibile...
|
||||||
|
}
|
||||||
|
|
||||||
if (!valintra)
|
if (!valintra)
|
||||||
{
|
{
|
||||||
if ((_isagricolo && tipoagr==2) || !_isagricolo)
|
if (tipodoc != "AF" && ((_isagricolo && tipoagr==2) || !_isagricolo))
|
||||||
{
|
{
|
||||||
if (ali == 4.00)
|
if (ali == 4.00)
|
||||||
{
|
{
|
||||||
@ -1687,7 +1700,7 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
|
|||||||
tiporeg treg;
|
tiporeg treg;
|
||||||
int tipocr,tipodet,tagr;
|
int tipocr,tipodet,tagr;
|
||||||
real aliq, imp, iva, vtot, atot, ivav, ivaa;
|
real aliq, imp, iva, vtot, atot, ivav, ivaa;
|
||||||
TString cur_att;
|
TString16 cur_att;
|
||||||
_BolgArray b_arr;
|
_BolgArray b_arr;
|
||||||
const bool is_key = _iva11_arr.is_key(codatt);
|
const bool is_key = _iva11_arr.is_key(codatt);
|
||||||
_BolgArray& array = is_key ? (_BolgArray&)_iva11_arr.find(codatt) : b_arr;
|
_BolgArray& array = is_key ? (_BolgArray&)_iva11_arr.find(codatt) : b_arr;
|
||||||
@ -1738,48 +1751,52 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
|
|||||||
if (tipodet == 1)
|
if (tipodet == 1)
|
||||||
array.add(iva,TAB11_B14);
|
array.add(iva,TAB11_B14);
|
||||||
|
|
||||||
if (aliq == 4.00)
|
// FBC???: tipo detr != 9
|
||||||
|
if (tipodet != 9)
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC101);
|
if (aliq == 4.00)
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC201);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (aliq == 9.00)
|
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC102);
|
array.add(_pim->get_real("R9"),TAB11_FBC101);
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC202);
|
array.add(_pim->get_real("R10"),TAB11_FBC201);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (aliq == 10.00)
|
if (aliq == 9.00)
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC103);
|
array.add(_pim->get_real("R9"),TAB11_FBC102);
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC203);
|
array.add(_pim->get_real("R10"),TAB11_FBC202);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (aliq == 13.00)
|
if (aliq == 10.00)
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC104);
|
array.add(_pim->get_real("R9"),TAB11_FBC103);
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC204);
|
array.add(_pim->get_real("R10"),TAB11_FBC203);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (aliq == 16.00)
|
if (aliq == 13.00)
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC105);
|
array.add(_pim->get_real("R9"),TAB11_FBC104);
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC205);
|
array.add(_pim->get_real("R10"),TAB11_FBC204);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (aliq == 19.00)
|
if (aliq == 16.00)
|
||||||
{
|
{
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC106);
|
array.add(_pim->get_real("R9"),TAB11_FBC105);
|
||||||
array.add(_pim->get_real("R10"),TAB11_FBC206);
|
array.add(_pim->get_real("R10"),TAB11_FBC205);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
if (aliq == 19.00)
|
||||||
|
{
|
||||||
|
array.add(_pim->get_real("R9"),TAB11_FBC106);
|
||||||
|
array.add(_pim->get_real("R10"),TAB11_FBC206);
|
||||||
|
}
|
||||||
|
|
||||||
if (a11 == "12")
|
if (a11 == "12")
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC107);
|
array.add(_pim->get_real("R9"),TAB11_FBC107);
|
||||||
if (a11 == "13" || a11 == "14")
|
if (a11 == "13" || a11 == "14")
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC108);
|
array.add(_pim->get_real("R9"),TAB11_FBC108);
|
||||||
if (a11 == "15")
|
if (a11 == "15")
|
||||||
array.add(_pim->get_real("R9"),TAB11_FBC109);
|
array.add(_pim->get_real("R9"),TAB11_FBC109);
|
||||||
|
}
|
||||||
} // is_acquisto
|
} // is_acquisto
|
||||||
|
|
||||||
if (is_vendita)
|
if (is_vendita)
|
||||||
@ -1827,7 +1844,7 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
//acquisti
|
//acquisti
|
||||||
if (tipodet != 9) // Evita di sommare gli quelli con tipo detraibilita' 9 (MI2209)
|
if (tipodet != 9) // Evita di sommare quelli con tipo detraibilita' 9 (MI2209)
|
||||||
{
|
{
|
||||||
atot += imp; ivaa+=iva;
|
atot += imp; ivaa+=iva;
|
||||||
}
|
}
|
||||||
@ -1995,105 +2012,108 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
differita = FALSE;
|
differita = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int m = 1; m <= 13; m++)
|
||||||
{
|
{
|
||||||
for (int m = 1; m <= 13; m++)
|
// ciclo su tutti i mesi del caso (1 o 3;
|
||||||
|
// tutti se annuale)
|
||||||
|
if (!is_month_ok(m, month))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
look_plm(differita ? 12 : m, att);
|
||||||
|
bool is_lim = look_lim(_isdifferita ? m+deltam : m);
|
||||||
|
|
||||||
|
// gia' conteggiato: prorata
|
||||||
|
// da conteggiare: IVA vendite ag. viaggio
|
||||||
|
// a debito: IVA vendite, debito precedente
|
||||||
|
// a credito: IVA acquisti, ulteriori detrazioni 1 e 2
|
||||||
|
|
||||||
|
if (!_isagricolo)
|
||||||
{
|
{
|
||||||
// ciclo su tutti i mesi del caso (1 o 3;
|
|
||||||
// tutti se annuale)
|
|
||||||
if (!is_month_ok(m, month))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
look_plm(differita ? 12 : m, att);
|
|
||||||
bool is_lim = look_lim(_isdifferita ? m+deltam : m);
|
|
||||||
|
|
||||||
// gia' conteggiato: prorata
|
|
||||||
// da conteggiare: IVA vendite ag. viaggio
|
|
||||||
// a debito: IVA vendite, debito precedente
|
|
||||||
// a credito: IVA acquisti, ulteriori detrazioni 1 e 2
|
|
||||||
|
|
||||||
iva_vend += _plm->get_real("R0");
|
iva_vend += _plm->get_real("R0");
|
||||||
iva_acq += _plm->get_real("R1");
|
iva_acq += _plm->get_real("R1");
|
||||||
risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
|
risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
|
||||||
detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
|
} // le storie per l'agricolo sono piu' sotto, oltre la fine del do..while()
|
||||||
res_debt += _plm->get_real("R0");
|
|
||||||
res_cred += _plm->get_real("R1");
|
|
||||||
|
|
||||||
// detrazioni solo non in regime agricolo
|
detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
|
||||||
if (!_isagricolo)
|
res_debt += _plm->get_real("R0");
|
||||||
{
|
res_cred += _plm->get_real("R1");
|
||||||
risultato -= (_plm->get_real("R3") + _plm->get_real("R4"));
|
|
||||||
res_cred += (_plm->get_real("R3") + _plm->get_real("R4"));
|
|
||||||
}
|
|
||||||
/* se annuale, somma versamenti mesi 1-12
|
|
||||||
* solo una volta (non per tutte le attivita')
|
|
||||||
*/
|
|
||||||
if (attc == 0 && month == 13)
|
|
||||||
{
|
|
||||||
// l'acconto a dicembre si conteggia a parte solo
|
|
||||||
// nei casi previsti e non in annuale (vedi sotto)
|
|
||||||
real vs(versamenti_IVA(m , m == 12 ? "1" : "1|7"));
|
|
||||||
real vi(versamenti_IVA(m,"5"));
|
|
||||||
versamenti += vs;
|
|
||||||
vers_int += vi;
|
|
||||||
res_cred += vs + vi;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
// detrazioni solo non in regime agricolo
|
||||||
* rimborso se chiesto e previsto
|
if (!_isagricolo)
|
||||||
* in annuale non si chiede e non va sommato se no lo cumula
|
{
|
||||||
*/
|
risultato -= (_plm->get_real("R3") + _plm->get_real("R4"));
|
||||||
if (attc == 0 && is_lim && m < 13)
|
res_cred += (_plm->get_real("R3") + _plm->get_real("R4"));
|
||||||
{
|
}
|
||||||
risultato += _lim->get_real("R1");
|
/* se annuale, somma versamenti mesi 1-12
|
||||||
rimborsi += _lim->get_real("R1");
|
* solo una volta (non per tutte le attivita')
|
||||||
res_debt += _lim->get_real("R1");
|
*/
|
||||||
}
|
if (attc == 0 && month == 13)
|
||||||
/*
|
{
|
||||||
* rettifiche gia' col loro bravo segno
|
// l'acconto a dicembre si conteggia a parte solo
|
||||||
*/
|
// nei casi previsti e non in annuale (vedi sotto)
|
||||||
if (attc == 0 && is_lim)
|
real vs(versamenti_IVA(m , m == 12 ? "1" : "1|7"));
|
||||||
{
|
real vi(versamenti_IVA(m,"5"));
|
||||||
// se sono per benzinaro le conta solo in annuale,
|
versamenti += vs;
|
||||||
// se no vanno solo in periodica
|
vers_int += vi;
|
||||||
// almeno cosi' dicevano fino ad agosto
|
res_cred += vs + vi;
|
||||||
// poi, sara' il caldo, mi hanno detto che e' sbagliato
|
}
|
||||||
TString descrett(_lim->get("S0"));
|
|
||||||
bool isforbenzinaro = descrett[0] == '$' ||
|
|
||||||
(descrett[0] == '>' && descrett[1] == '>');
|
|
||||||
|
|
||||||
if (/*(isforbenzinaro && _isannual) || ...alla cincia quest'idea non piaceva piu'
|
/*
|
||||||
(!isforbenzinaro && !_isannual) adesso la storia e' cosi':
|
* rimborso se chiesto e previsto
|
||||||
in ANNUALE solo se benzinaro, altrimenti niente; diversamente tutto*/
|
* in annuale non si chiede e non va sommato se no lo cumula
|
||||||
!(month == 13 && !isforbenzinaro) && m < 13)
|
*/
|
||||||
{
|
if (attc == 0 && is_lim && m < 13)
|
||||||
risultato += _lim->get_real("R5");
|
{
|
||||||
rettifiche += _lim->get_real("R5");
|
risultato += _lim->get_real("R1");
|
||||||
if (_lim->get_real("R5").sign() < 0)
|
rimborsi += _lim->get_real("R1");
|
||||||
res_cred += abs(_lim->get_real("R5"));
|
res_debt += _lim->get_real("R1");
|
||||||
else
|
}
|
||||||
res_debt += abs(_lim->get_real("R5"));
|
/*
|
||||||
}
|
* rettifiche gia' col loro bravo segno
|
||||||
}
|
*/
|
||||||
|
if (attc == 0 && is_lim)
|
||||||
|
{
|
||||||
|
// se sono per benzinaro le conta solo in annuale,
|
||||||
|
// se no vanno solo in periodica
|
||||||
|
// almeno cosi' dicevano fino ad agosto
|
||||||
|
// poi, sara' il caldo, mi hanno detto che e' sbagliato
|
||||||
|
TString descrett(_lim->get("S0"));
|
||||||
|
bool isforbenzinaro = descrett[0] == '$' ||
|
||||||
|
(descrett[0] == '>' && descrett[1] == '>');
|
||||||
|
|
||||||
/* totalizza importi 74 ter */
|
if (/*(isforbenzinaro && _isannual) || ...alla cincia quest'idea non piaceva piu'
|
||||||
if (_isviaggio)
|
(!isforbenzinaro && !_isannual) adesso la storia e' cosi':
|
||||||
|
in ANNUALE solo se benzinaro, altrimenti niente; diversamente tutto*/
|
||||||
|
!(month == 13 && !isforbenzinaro) && m < 13)
|
||||||
{
|
{
|
||||||
// somma totali per calcolo successivo
|
risultato += _lim->get_real("R5");
|
||||||
c_iCEE += _plm->get_real("R5");
|
rettifiche += _lim->get_real("R5");
|
||||||
c_eCEE += _plm->get_real("R6");
|
if (_lim->get_real("R5").sign() < 0)
|
||||||
a_iCEE += _plm->get_real("R7");
|
res_cred += abs(_lim->get_real("R5"));
|
||||||
a_eCEE += _plm->get_real("R8");
|
else
|
||||||
c_mCEE += _plm->get_real("R9");
|
res_debt += abs(_lim->get_real("R5"));
|
||||||
a_mCEE += _plm->get_real("R10");
|
|
||||||
a_meCEE += _plm->get_real("R11");
|
|
||||||
}
|
}
|
||||||
} // fine ciclo sul mese
|
}
|
||||||
|
|
||||||
// counter attivita' per evitare troppi versamenti
|
/* totalizza importi 74 ter */
|
||||||
attc++;
|
if (_isviaggio)
|
||||||
if (differita)
|
{
|
||||||
_year = format("%d", atoi(_year)+1);
|
// somma totali per calcolo successivo
|
||||||
} // fine else
|
c_iCEE += _plm->get_real("R5");
|
||||||
|
c_eCEE += _plm->get_real("R6");
|
||||||
|
a_iCEE += _plm->get_real("R7");
|
||||||
|
a_eCEE += _plm->get_real("R8");
|
||||||
|
c_mCEE += _plm->get_real("R9");
|
||||||
|
a_mCEE += _plm->get_real("R10");
|
||||||
|
a_meCEE += _plm->get_real("R11");
|
||||||
|
}
|
||||||
|
} // fine ciclo sul mese
|
||||||
|
|
||||||
|
// counter attivita' per evitare troppi versamenti
|
||||||
|
attc++;
|
||||||
|
if (differita)
|
||||||
|
_year = format("%d", atoi(_year)+1);
|
||||||
|
|
||||||
if (!(_isdifferita && is_first_month(month+deltam)))
|
if (!(_isdifferita && is_first_month(month+deltam)))
|
||||||
{
|
{
|
||||||
@ -2125,6 +2145,30 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
}
|
}
|
||||||
} // end ciclo su attivita'
|
} // end ciclo su attivita'
|
||||||
|
|
||||||
|
if (_isagricolo)
|
||||||
|
{ // Ora si deve rettificare risultato in questo modo:
|
||||||
|
// risultato += (cessioni non in reg. agr. - (acq. non in reg. agr - beni amm. + iva detr)
|
||||||
|
// ovvero
|
||||||
|
// risultato += (d._r1 - (d._r2 + d._r10);
|
||||||
|
// Utilizza solo d._r2 perche' gia' non comprensivo dei beni ammortizzabili
|
||||||
|
// Giusto per fare qualcosa di nuovo e non ricalcolare ogni volta gli stessi importi
|
||||||
|
// si reperisce REGAGR da _descr_arr
|
||||||
|
const int items = _descr_arr.items();
|
||||||
|
|
||||||
|
for (int i = 0; i < items; i++)
|
||||||
|
{
|
||||||
|
_DescrItem& d = (_DescrItem&)_descr_arr[i];
|
||||||
|
if (d._flags == REGAGR)
|
||||||
|
{
|
||||||
|
iva_vend = d._r1;
|
||||||
|
iva_acq = d._r2 + d._r10;
|
||||||
|
risultato += (iva_vend - iva_acq);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} // __ end of _isagricolo
|
||||||
|
|
||||||
if (month < 13) // va bene anche se differita sommando deltam (che e' 0 normalmente)
|
if (month < 13) // va bene anche se differita sommando deltam (che e' 0 normalmente)
|
||||||
{
|
{
|
||||||
// toglie credito precedente
|
// toglie credito precedente
|
||||||
@ -2422,7 +2466,10 @@ void TLiquidazione_app::recalc_annual(const char* att)
|
|||||||
real volaff1 = 0.0;
|
real volaff1 = 0.0;
|
||||||
real volaff2 = 0.0;
|
real volaff2 = 0.0;
|
||||||
real imp_ifs = 0.0;
|
real imp_ifs = 0.0;
|
||||||
|
real imp_af = 0.0;
|
||||||
|
real imp_a36 = 0.0;
|
||||||
TString16 codiva,reg,tiva;
|
TString16 codiva,reg,tiva;
|
||||||
|
TToken_string a36("",'!');
|
||||||
|
|
||||||
int tipoatt = att[strlen(att) -1] - '0';
|
int tipoatt = att[strlen(att) -1] - '0';
|
||||||
TString aaa(att);
|
TString aaa(att);
|
||||||
@ -2452,6 +2499,10 @@ void TLiquidazione_app::recalc_annual(const char* att)
|
|||||||
const bool corrisp = _reg->get_bool("B0");
|
const bool corrisp = _reg->get_bool("B0");
|
||||||
const bool simp = _reg->get_bool("B1");
|
const bool simp = _reg->get_bool("B1");
|
||||||
imp_ifs = _pim->get_real("R0");
|
imp_ifs = _pim->get_real("R0");
|
||||||
|
imp_af = _pim->get_real("R7");
|
||||||
|
a36 = _pim->get("S0");
|
||||||
|
imp_a36 = a36.get(0);
|
||||||
|
imp_ifs -= imp_af + imp_a36; // Toglie le autofatture e le op. A36
|
||||||
if (corrisp) imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS
|
if (corrisp) imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS
|
||||||
|
|
||||||
if ( // ESCLUSI:
|
if ( // ESCLUSI:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user