Spianate caciotte liquidazione e visualizzazione
git-svn-id: svn://10.65.10.50/trunk@1570 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bdfd171358
commit
7f283345e6
@ -247,7 +247,7 @@ bool TLiquidazione_app::user_create()
|
||||
if (need_refresh) _recalc = ever;
|
||||
|
||||
for (int mese = 1; mese < _month; mese++) // fino a 13 compreso
|
||||
if (is_month_ok(mese, _month) || _recalc == ever)
|
||||
if (is_month_plain(mese) || _recalc == ever)
|
||||
update_firm(mese);
|
||||
|
||||
if (is_month_ok_strict(_month) || _month == 13)
|
||||
|
@ -1122,6 +1122,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
|
||||
if (_isviaggio)
|
||||
{
|
||||
real deb_mens = 0.0;
|
||||
_plm->put("R5", corr_CEE);
|
||||
_plm->put("R6", corr_noCEE);
|
||||
_plm->put("R7", acq_CEE);
|
||||
@ -1135,6 +1136,25 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
// l'iva agenzie di viaggio, calcolata
|
||||
// in liquidazione (mensile o trimestrale)
|
||||
// ---------------------------------------
|
||||
// Mod 7/7/95: calcolo effettuato anche qui, in modo da
|
||||
// avere l'IVA dovuta per riportarla nei progressivi
|
||||
// Dato che il resto funziona non tocco nulla, ovvero
|
||||
// duplico il calcolo di write_liq, nella remota ipotesi
|
||||
// che ci siano due o piu' attivita' e siano tutte
|
||||
// agenzie di viaggio
|
||||
real perc_r = (acq_misCEE * CENTO)/(acq_misCEE + acq_misnoCEE);
|
||||
real ivm = (corr_misCEE * perc_r)/CENTO; ivm.round(ROUND_LIRA);
|
||||
real tc = (corr_CEE + ivm);
|
||||
real ta = (acq_CEE + acq_misCEE);
|
||||
real bi = tc - ta - credito_costo_prec(month);
|
||||
|
||||
if (bi.sign() > 0)
|
||||
{
|
||||
deb_mens = (bi /((CENTO + aliquota_agvia())/CENTO)) *
|
||||
(aliquota_agvia()/CENTO);
|
||||
deb_mens.ceil(ROUND_LIRA); // ceil voluto MI3074
|
||||
}
|
||||
_pom->put("R13", deb_mens);
|
||||
}
|
||||
else if (_isagricolo)
|
||||
{
|
||||
|
@ -366,6 +366,8 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
||||
|
||||
// descrittore riga autodafe'
|
||||
_DescrItem* ads = NULL;
|
||||
// descrittore riga iva dovuta ag. viaggio'
|
||||
_DescrItem* iads = NULL;
|
||||
// questa cazzata serve per far apparire l'intestazione delle colonne
|
||||
// anche se le colonne non ci sono; in tal modo si ottiene una peggior
|
||||
// chiarezza, una peggiore efficienza, una gran rottura di coglioni,
|
||||
@ -533,6 +535,23 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
look_plm(month,att);
|
||||
real iva74t = _pom->get_real("R13");
|
||||
if (iva74t.sign() > 0)
|
||||
{
|
||||
if(iads == NULL) iads = new _DescrItem(PIM_ROW);
|
||||
iads->_s0 = "74TER"; // cosi' vollero
|
||||
iads->_s1 = "IVA "; // cosi' vollero
|
||||
iads->_s2 = " dovuta - 74 ter"; // cosi' vollero
|
||||
iads->_r1 += iva74t;
|
||||
t1 += iva74t;
|
||||
if (isfirst)
|
||||
{
|
||||
isfirst = FALSE;
|
||||
iads->_f0 = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (autodafe.sign() > 0 || autodafe_iva.sign() > 0)
|
||||
@ -551,25 +570,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
||||
}
|
||||
|
||||
// ag. viaggio: iva dovuta 74 ter la vogliono in mezzo ai progressivi
|
||||
// mi chiamano mimi', il perche' non so
|
||||
look_lim(month);
|
||||
real iva74t = _lim->get_real("R3");
|
||||
if (iva74t.sign() > 0)
|
||||
{
|
||||
_DescrItem* ads = new _DescrItem(PIM_ROW);
|
||||
ads->_s0 = "74TER"; // cosi' vollero
|
||||
ads->_s1 = "IVA "; // cosi' vollero
|
||||
ads->_s2 = " dovuta - 74 ter"; // cosi' vollero
|
||||
ads->_r1 = iva74t;
|
||||
t1 += iva74t;
|
||||
if (isfirst)
|
||||
{
|
||||
isfirst = FALSE;
|
||||
ads->_f0 = TRUE;
|
||||
}
|
||||
_descr_arr.add(ads);
|
||||
}
|
||||
|
||||
if (iads != NULL) _descr_arr.add(iads);
|
||||
|
||||
// prepara una bella riga di totali
|
||||
if (/* !isfirst */ TRUE)
|
||||
@ -756,8 +757,6 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts,
|
||||
{
|
||||
// tutti i versamenti, sempre e comunque
|
||||
d->_r8 = versamenti_IVA(_month, "1", TRUE);
|
||||
// nessuno li ha scritti in LIM
|
||||
d->_r0 -= d->_r8;
|
||||
}
|
||||
else
|
||||
// rispettiamo tutte le casistiche per i versamenti
|
||||
@ -1299,7 +1298,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
|
||||
if (_is_visliq)
|
||||
{
|
||||
// stampa ad uso visualizzazione liquidazione IVA
|
||||
set_row(rw++,"@11g$[r]Versamenti effettuati$[n]@58g%r", &versamenti);
|
||||
// set_row(rw++,"@11g$[r]Versamenti effettuati$[n]@58g%r", &versamenti);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -673,6 +673,14 @@ bool Visliq_app::vis_one(int m)
|
||||
}
|
||||
if (msk.field(F_DELIMP).dirty())
|
||||
{
|
||||
real itt = _lim->get_real("R10");
|
||||
if (!itt.is_zero())
|
||||
{
|
||||
// uso importi al netto degli interessi
|
||||
// (vengono riapplicati dopo in write_del)
|
||||
n_vers = n_vers/((itt+real(100.0))/real(100.0));
|
||||
n_vers.round(0);
|
||||
}
|
||||
vers = n_vers;
|
||||
d_mod = TRUE;
|
||||
}
|
||||
@ -749,7 +757,7 @@ void Visliq_app::recalc_liq_data(TViswin* vsw, real& rimb, real& rett, real& ver
|
||||
real rtt = _lim->get_real("R5"); // rettifica si
|
||||
real udt = _lim->get_real("R6"); // ult. detrazioni no
|
||||
real cgp = _lim->get_real("R7"); // conguaglio prorata no
|
||||
real vrs = _lim->get_real("R8"); // versamenti si
|
||||
real vrs = _lim->get_real("R8"); // versamenti no
|
||||
real vri = _lim->get_real("R9"); // versamenti integrativi no
|
||||
real itt = _lim->get_real("R10"); // tasso interesse no
|
||||
real act = _lim->get_real("R11"); // acconto si
|
||||
@ -772,7 +780,7 @@ void Visliq_app::recalc_liq_data(TViswin* vsw, real& rimb, real& rett, real& ver
|
||||
}
|
||||
|
||||
// calcola nuovi dati
|
||||
real riscr = iva_acq + udt + vers + acc + cre_pre;
|
||||
real riscr = iva_acq + udt + acc + cre_pre;
|
||||
real risdb = iva_ven + rimb + deb_pre;
|
||||
|
||||
if (rett.sign() < 0) riscr -= rett;
|
||||
@ -986,6 +994,8 @@ void Visliq_app::write_liq()
|
||||
|
||||
void Visliq_app::write_del()
|
||||
{
|
||||
bool wasdel = FALSE;
|
||||
|
||||
int month = atoi(*_lim_mese);
|
||||
TString abi(_lim->get("S4"));
|
||||
TString cab(_lim->get("S5"));
|
||||
@ -994,11 +1004,20 @@ void Visliq_app::write_del()
|
||||
real vers(_lim->get_real("R8"));
|
||||
real intr(_lim->get_real("R10"));
|
||||
|
||||
bool wasdel = look_del(month,1,TRUE);
|
||||
if (vers.is_zero() && (wasdel = look_del(month,1)))
|
||||
{
|
||||
_del->remove();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!wasdel) look_del(month,1,TRUE);
|
||||
|
||||
// riapplica il tasso di interesse
|
||||
// se trimstrale e' stato scorporato rispetto
|
||||
// all'eventuale input utente
|
||||
real inter = vers*(intr/real(100.0));
|
||||
inter.ceil();
|
||||
vers += inter;
|
||||
|
||||
_del->put("R0",vers);
|
||||
_del->put("R1",inter);
|
||||
@ -1246,10 +1265,20 @@ void Visliq_app::write_general(TMask& m)
|
||||
// e crea/aggiorna le deleghe
|
||||
if (nvers != overs)
|
||||
{
|
||||
risc -= overs;
|
||||
risc += nvers;
|
||||
risl += overs;
|
||||
risl -= nvers;
|
||||
real itt = _lim->get_real("R10");
|
||||
if (!itt.is_zero())
|
||||
{
|
||||
// uso importi al netto degli interessi
|
||||
// (vengono riapplicati dopo in write_del)
|
||||
nvers = nvers/((itt+real(100.0))/real(100.0));
|
||||
// overs = overs/((itt+real(100.0))/real(100.0));
|
||||
nvers.round(0);
|
||||
// overs.round(0);
|
||||
}
|
||||
// risc -= overs;
|
||||
// risc += nvers;
|
||||
// risl += overs;
|
||||
// risl -= nvers;
|
||||
vr_mod = TRUE;
|
||||
}
|
||||
if (vr_mod || ndate != odate || nabi != oabi ||
|
||||
@ -1336,8 +1365,6 @@ void Visliq_app::write_general(TMask& m)
|
||||
_lim->put("R1", nrimb);
|
||||
}
|
||||
}
|
||||
// TBI controlla compatibilita' versamenti
|
||||
|
||||
_lam->put("R2", newcred);
|
||||
_lam->put("R3", newdebt);
|
||||
_lim->put("R0", risl);
|
||||
@ -1356,17 +1383,17 @@ void Visliq_app::write_general(TMask& m)
|
||||
|
||||
rstart = risl;
|
||||
}
|
||||
else
|
||||
{
|
||||
// salva i valori modificati senza fare controlli
|
||||
// e rimetti a lui i suoi debiti mettendo B0 a FALSE
|
||||
if (orett != nrett)
|
||||
_lim->put("R5", nrett);
|
||||
if (orimb != nrimb)
|
||||
_lim->put("R1", nrimb);
|
||||
_lim->put("B0", "");
|
||||
_lim->rewrite();
|
||||
}
|
||||
else
|
||||
{
|
||||
// salva i valori modificati senza fare controlli
|
||||
// e rimetti a lui i suoi debiti mettendo B0 a FALSE
|
||||
if (orett != nrett)
|
||||
_lim->put("R5", nrett);
|
||||
if (orimb != nrimb)
|
||||
_lim->put("R1", nrimb);
|
||||
_lim->put("B0", "");
|
||||
_lim->rewrite();
|
||||
}
|
||||
|
||||
// Rimetti a posto righe sheet se serve
|
||||
int sr0 = (_lim->get_real("R0")).sign();
|
||||
|
Loading…
x
Reference in New Issue
Block a user