Liquidazione: corrette ultime porcherie
CG5 -5 e' la visualizzazione liquidazione, appena iniziata git-svn-id: svn://10.65.10.50/trunk@707 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
829c61f812
commit
acea285fff
@ -44,3 +44,10 @@ MENUBAR MENU_BAR(5)
|
||||
MENU MENU_BAR(5)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
/* cg4 -6 Visualizzazione liquidazione */
|
||||
|
||||
MENUBAR MENU_BAR(6)
|
||||
|
||||
MENU MENU_BAR(6)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
|
@ -71,7 +71,7 @@ END
|
||||
NUMBER CG43_FLD_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 30 7 "Anno "
|
||||
HELP "Anno di cui effettuare il calcolo"
|
||||
HELP "Anno per cui effettuare il calcolo"
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
@ -79,7 +79,7 @@ END
|
||||
LIST CG43_LST_MESE 10
|
||||
BEGIN
|
||||
PROMPT 4 7 "Periodo "
|
||||
HELP "Mese di cui effettuare il calcolo liquidazione"
|
||||
HELP "Mese per cui effettuare il calcolo liquidazione"
|
||||
ITEM "13|Annuale"
|
||||
FLAGS "AM"
|
||||
END
|
||||
|
@ -183,10 +183,8 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
||||
cattivs.add(cattiv);
|
||||
} // for tipoatt
|
||||
|
||||
// se attivita' mista stampa riepilogo (solo se
|
||||
// la seconda attivita'aveva movimenti)
|
||||
|
||||
if (_mixed && month == _month && gheravergot)
|
||||
// se attivita' mista stampa riepilogo
|
||||
if (_mixed && month == _month)
|
||||
describe_att(month,cattivs);
|
||||
}
|
||||
while (_nditte->next_match(LF_ATTIV));
|
||||
@ -304,6 +302,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
real ult_detr = 0.0;
|
||||
real acq_pint = 0.0;
|
||||
real acq_pint_iva = 0.0;
|
||||
real spgen = 0.0;
|
||||
real spgen_iva = 0.0;
|
||||
|
||||
*_cur = 0;
|
||||
long items = _cur->items();
|
||||
@ -395,7 +395,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
{
|
||||
ammort_6 += imponibile;
|
||||
ammort_6_iva += imposta;
|
||||
ult_detr += imposta * real(DETRAZIONE_6PERCENTO);
|
||||
ult_detr += imponibile * real(DETRAZIONE_6PERCENTO);
|
||||
}
|
||||
else if (tipomov == vendita && tipocr == 4)
|
||||
// Vendite strum. art 17 (cess. amm.???)
|
||||
@ -409,6 +409,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
leasing += imponibile;
|
||||
leasing_iva += imposta;
|
||||
}
|
||||
else if (tipomov == acquisto && tipocr == 9)
|
||||
// Spese generali
|
||||
{
|
||||
spgen += imponibile;
|
||||
spgen_iva += imposta;
|
||||
}
|
||||
|
||||
// operazioni per calcolo rimborso infracazzuale
|
||||
if ((tipoiva == "ES" || tipoiva == "NI") && ivarimb)
|
||||
@ -590,7 +596,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
if (!_prorata.is_zero())
|
||||
{
|
||||
prorata = acquisti_iva * (_prorata / CENTO);
|
||||
prorata.round(ROUND_LIRA);
|
||||
prorata.ceil(ROUND_LIRA);
|
||||
}
|
||||
look_plm(month, codatt, TRUE);
|
||||
|
||||
@ -614,7 +620,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
// calcola base da base e credito di costo
|
||||
// indi abilmente trova il codiva e calcola l'iva del caso
|
||||
real rip = acq_misCEE / (acq_misCEE + acq_misnoCEE);
|
||||
real corr_imp = corr_misCEE * rip; corr_imp.round(ROUND_LIRA);
|
||||
real corr_imp = corr_misCEE * rip; corr_imp.ceil(ROUND_LIRA);
|
||||
corr_imp += corr_CEE;
|
||||
real cost_detr = acq_misCEE * acq_CEE;
|
||||
real base_imp = corr_imp - (cost_detr
|
||||
@ -633,7 +639,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
{
|
||||
debito = base_imp * aliquota_agvia();
|
||||
vendite_iva += debito;
|
||||
vendite_iva.round(ROUND_LIRA);
|
||||
vendite_iva.ceil(ROUND_LIRA);
|
||||
}
|
||||
|
||||
// tutte ste minchie le mettiamo in lim anche se sarebbe
|
||||
@ -654,16 +660,31 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
acquisti_iva -= (agr_acq + leasing_iva + ammort_iva + ammort_6_iva);
|
||||
vendite_iva -= (agr_ven + agr_conf + agr_acc);
|
||||
}
|
||||
// COSA MI TOCCA FARE
|
||||
TToken_string s(40);
|
||||
|
||||
_plm->put("R0", vendite_iva);
|
||||
_plm->put("R1", acquisti_iva);
|
||||
_plm->put("R3", ult_detr);
|
||||
_plm->put("R12", _prorata); // per comodita' in stampa
|
||||
_plm->put("B0", "X"); // calcolato (invalidato dalla primanota)
|
||||
_plm->put("S1", for_rimb.string());
|
||||
_plm->put("S2", acq_ies.string());
|
||||
_plm->put("S3", acq_ies_iva.string());
|
||||
_plm->put("S4", acq_pint.string());
|
||||
_plm->put("S5", acq_pint_iva.string());
|
||||
|
||||
// si riempiano le stringhe di coppie di real
|
||||
s.add(acq_ies.string());
|
||||
s.add(acq_ies_iva.string());
|
||||
_plm->put("S2", (const char*)s);
|
||||
|
||||
s = "";
|
||||
s.add(acq_pint.string());
|
||||
s.add(acq_pint_iva.string());
|
||||
_plm->put("S3", (const char*)s);
|
||||
|
||||
s = "";
|
||||
s.add(spgen.string());
|
||||
s.add(spgen_iva.string());
|
||||
_plm->put("S4", (const char*)s);
|
||||
|
||||
_plm->rewrite();
|
||||
|
||||
// salva gli altri totali para no ponernos locos despues
|
||||
@ -837,7 +858,7 @@ void TLiquidazione_app::recalc_annual(const char* att)
|
||||
// calcolo prorata
|
||||
real prorata = (es_b1/(vendite - cess_amm - es_b3)) * CENTO;
|
||||
real conguaglio = 0.0;
|
||||
prorata.round(ROUND_LIRA);
|
||||
prorata.ceil(ROUND_LIRA);
|
||||
if (prorata != _prorata)
|
||||
{
|
||||
// calcolo conguaglio -- se positivo e' a debito
|
||||
|
@ -441,18 +441,36 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
||||
t->_r11 += _plm->get_real("R2"); // pro-rata indetraibile
|
||||
t->_s0 = (_plm->get_real("R12")).string(); // % pro-rata
|
||||
t->_f0 = !_prorata.is_zero(); // flag per segnalare l'esistenza
|
||||
real aie(_plm->get("S2")); // acq. inded. su ricavi esenti
|
||||
real aiev(_plm->get("S3")); // IVA acq. inded. su ricavi esenti
|
||||
|
||||
// minchie indeducibili su ricavi esenti
|
||||
TToken_string s(_plm->get("S2"));
|
||||
|
||||
real aie(s.get(0)); // acq. inded. su ricavi esenti
|
||||
real aiev(s.get(1)); // IVA acq. inded. su ricavi esenti
|
||||
d->_r9 += aie;
|
||||
d->_r10 += aiev;
|
||||
real aipi(_plm->get("S4")); // acq. inded. per pass. int.
|
||||
real aipiv(_plm->get("S5")); // IVA acq. inded. per pass. int.
|
||||
|
||||
// passaggi interni
|
||||
s = _plm->get("S3");
|
||||
real aipi(s.get(0)); // acq. inded. per pass. int.
|
||||
real aipiv(s.get(1)); // IVA acq. inded. per pass. int.
|
||||
real aipip(d->_s0); // progressivo ...
|
||||
real aipivp(d->_s1); // ... (che mazzata sulle palle...)
|
||||
aipip += aipi; // ricalcolo ...
|
||||
aipivp += aipiv; // ...
|
||||
d->_s0 = aipip.string(); // risbatto ...
|
||||
d->_s1 = aipivp.string(); // ...
|
||||
d->_s1 = aipivp.string(); // ..
|
||||
|
||||
// spese generali.
|
||||
s = _plm->get("S4");
|
||||
real spgn(s.get(0)); // spese generali.
|
||||
real spgnv(s.get(1)); // IVA spese generali
|
||||
real spgnp(t->_s2); // progressivo ...
|
||||
real spgnvp(t->_s3); // ... (che doppia mazzata sulle palle...)
|
||||
spgnp += spgn; // ricalcolo ...
|
||||
spgnvp += spgnv; // ...
|
||||
t->_s2 = spgnp.string(); // risbatto ...
|
||||
t->_s3 = spgnvp.string(); // ..
|
||||
}
|
||||
}
|
||||
// annual follows in _arr
|
||||
@ -854,6 +872,9 @@ void TLiquidazione_app::set_ptm(_DescrItem& d)
|
||||
"@77gimposta@91gdetrazione");
|
||||
set_row(4,"");
|
||||
|
||||
real spgn(d._s2);
|
||||
real spgn_iva(d._s3);
|
||||
|
||||
int row = 5;
|
||||
|
||||
if (! (d._r8.is_zero() && d._r9.is_zero()))
|
||||
@ -868,13 +889,17 @@ void TLiquidazione_app::set_ptm(_DescrItem& d)
|
||||
set_row(row++, "Acquisto beni ammortizzabili IVA detraibile@50g%r@69g%r",
|
||||
&(d._r0),
|
||||
&(d._r1));
|
||||
if (! (spgn.is_zero() && spgn_iva.is_zero()))
|
||||
set_row(row++, "Spese generali@50g%r@69g%r",
|
||||
&spgn,
|
||||
&spgn_iva);
|
||||
if (! (d._r6.is_zero() && d._r7.is_zero()))
|
||||
set_row(row++, "Altri beni strumentali acquisiti in leasing@50g%r@69g%r",
|
||||
&(d._r6),
|
||||
&(d._r7));
|
||||
if (! (d._r2.is_zero() && d._r3.is_zero()))
|
||||
{
|
||||
real rn = d._r3 * real(DETRAZIONE_6PERCENTO);
|
||||
real rn = d._r2 * real(DETRAZIONE_6PERCENTO);
|
||||
set_row(row++, "Acquisto beni soggetti a detrazione (6%%)"
|
||||
"@50g%r@69g%r@86g%r",
|
||||
&(d._r2),
|
||||
@ -950,7 +975,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
|
||||
real iva = rd - rc;
|
||||
char how = iva.sign() < 0 ? 'c' : 'd';
|
||||
iva = abs(iva);
|
||||
iva.round(_isannual ? ROUND_MILLELIRE : ROUND_LIRA);
|
||||
iva.ceil(_isannual ? ROUND_MILLELIRE : ROUND_LIRA);
|
||||
|
||||
|
||||
// se non c'e' nulla da versare non stampa una minchia
|
||||
@ -968,9 +993,9 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
|
||||
set_row(rw++,"@23gIVA DOVUTA@75g%r",&iva);
|
||||
|
||||
real interesse = interesse_trimestrale(d._f2);
|
||||
real ivi = iva * interesse / CENTO; ivi.round(ROUND_LIRA);
|
||||
real ivi = iva * interesse / CENTO; ivi.ceil(ROUND_LIRA);
|
||||
real ivt = iva + ivi;
|
||||
ivt.round(_isannual ? ROUND_MILLELIRE : ROUND_LIRA);
|
||||
ivt.ceil(_isannual ? ROUND_MILLELIRE : ROUND_LIRA);
|
||||
set_row(rw++,"@23gInteresse %6.2r %%@75g%r",&interesse, &ivi);
|
||||
|
||||
if (ivt.is_zero() || ivt >= IVA_DA_RIPORTARE || d._f1)
|
||||
@ -1194,7 +1219,7 @@ void TLiquidazione_app::set_viaggio(_DescrItem& d)
|
||||
int ln = max(up.len(), dn.len()) + 2;
|
||||
TString den(ln); den.fill('-');
|
||||
up.center_just(ln); dn.center_just(ln);
|
||||
real rip = d._r7 * CENTO; rip.round(2);
|
||||
real rip = d._r7 * CENTO; rip.ceil(2);
|
||||
|
||||
// la bella frazioncina degli imponibili viaggi misti
|
||||
TString tmp2 = d._r1.string(REAL_PICTURE); tmp2.ltrim();
|
||||
@ -1212,7 +1237,7 @@ void TLiquidazione_app::set_viaggio(_DescrItem& d)
|
||||
int rem2 = pos1+ den.len() + 11;
|
||||
int pos2 = rem2 + 20;
|
||||
|
||||
real cim = d._r1 * d._r7; cim.round(ROUND_LIRA);
|
||||
real cim = d._r1 * d._r7; cim.ceil(ROUND_LIRA);
|
||||
|
||||
set_row(19,format("@%dg%%t@%dg%%t", pos1, pos2),
|
||||
&up, &up2);
|
||||
@ -1273,7 +1298,7 @@ void TLiquidazione_app::set_viaggio(_DescrItem& d)
|
||||
else
|
||||
{
|
||||
real aliva = aliquota_agvia();
|
||||
real dovuta = bil * aliva; dovuta.round(ROUND_LIRA);
|
||||
real dovuta = bil * aliva; dovuta.ceil(ROUND_LIRA);
|
||||
aliva *= 100.0;
|
||||
|
||||
tmp = bil.string(REAL_PICTURE); tmp.ltrim();
|
||||
|
@ -21,6 +21,8 @@ int main(int argc,char** argv)
|
||||
cg5300(argc,argv) ; break;
|
||||
case 4:
|
||||
cg5400(argc,argv) ; break;
|
||||
case 5:
|
||||
cg5500(argc,argv) ; break;
|
||||
default:
|
||||
error_box(usage, argv[0]) ;
|
||||
}
|
||||
|
1
cg/cg5.h
1
cg/cg5.h
@ -3,3 +3,4 @@ extern int cg5100 (int argc, char* argv[]);
|
||||
extern int cg5200 (int argc, char* argv[]);
|
||||
extern int cg5300 (int argc, char* argv[]);
|
||||
extern int cg5400 (int argc, char* argv[]);
|
||||
extern int cg5500 (int argc, char* argv[]);
|
||||
|
@ -26,4 +26,9 @@ MENUBAR MENU_BAR(4)
|
||||
MENU MENU_BAR(4)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
MENUBAR MENU_BAR(5)
|
||||
|
||||
MENU MENU_BAR(5)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user