MOdifiche per Enrica

git-svn-id: svn://10.65.10.50/trunk@1593 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-07-13 12:23:03 +00:00
parent f9ec8d90e9
commit e1a11db75e
3 changed files with 40 additions and 30 deletions

View File

@ -343,7 +343,7 @@ public:
// ricalcolo progressivi mese
bool update_firm (int month, bool recalc = TRUE);
bool update_att (int month, const char* codatt, bool recalc = TRUE);
void zero_firm (int month); // TBI azzera i rimborsi e i LIM
void zero_firm (int month);
void zero_att (int month, const char* codatt);
void zero_annual (int month);
void recalc_att (int month, const char* codatt);

View File

@ -502,11 +502,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
/*
* Tipo documento da eliminare (Scudler 1994)
* Trattasi per lo piu' di non incassati
* Trattasi per lo piu' di non incassati
* Da oggi vengono sommati nei real di S2 in pim
* assieme alle FS per stampa registri
*/
if (tipodoc == "SN" || tipodoc == "CN" || tipodoc == "RN" ||
tipodoc == "IN" || tipodoc == "PG")
continue;
bool noninc = (tipodoc == "SN" || tipodoc == "CN" || tipodoc == "RN" ||
tipodoc == "IN" || tipodoc == "PG");
/*
* check date: se si calcola l'acconto, solo da 1/12 a 20/12
@ -530,7 +531,9 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real vsimp_imp = 0.0; // imponibile vendite sosp. imposta
real vsimp_iva = 0.0; // imposta vendite sosp. imposta
real rit_imp = 0.0; // imponibile fatture in ritardo
real rit_iva = 0.0; // IVA fatture in ritardo
real rit_iva = 0.0; // imposta fatture in ritardo
real nin_imp = 0.0; // imponibile non incassati
real nin_iva = 0.0; // imposta non incassati
TString codiva = _iva->get("CODTAB");
TString tipoiva = _iva->get("S1");
@ -592,8 +595,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
continue;
}
if (sosp_imp) // sospensione di imposta
if (noninc) // non incassati: non devono entrare in nessun altro calcolo
{
nin_imp = imponibile;
nin_iva = imposta;
}
else if (sosp_imp) // sospensione di imposta
{
if (tipomov == vendita)
{
@ -679,15 +686,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
spgen_iva += imposta;
}
// operazioni per calcolo rimborso infracazzuale
// Scudler 1995
// La breve estate vissuta dal metodo del 51% renderebbe
// ora superflua la tabella rimborsi, ma, come diceva
// Garcia Lorca, me ne sbatto il culo e se non ti piace
// vatti a far chiavare da un coyote
// Non mi piaceva, il coyote non era intenzionato, e
// quindi l'ho tolta, anche perche' non funzionava piu'
// per i ventilati e per gli 'aggiustati' dopo il calcolo
// operazioni per calcolo rimborso infraanale
// Scudler 1995 e molti dopo di lei
// La breve estate vissuta dal metodo del 51% rende
// oramai superflua la tabella rimborsi, eliminata
// senza entusiasmo ed interrogandomi sul senso della vita
if (ivarimb)
{
bool ok = _isagricolo ? tipoagr == 2 : FALSE;
@ -843,7 +846,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
/*
* se ign == TRUE non bisogna neppure PROGRESSIVARLI
*/
bool ign = sosp_imp || (fattrit && month != 13);
bool ign = sosp_imp || (fattrit && month != 13) || noninc;
/*
* se liq == FALSE gli importi non contano ai fini
@ -892,11 +895,17 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real rti(fr.get(0));
real rtv(fr.get(1));
/* la stramadonna dei corrispettivi gia' scorporati */
/*
* la stramadonna dei corrispettivi gia' scorporati
* Gli si aggiungono i non incassati, sperando in bene
*/
TToken_string cs(_pim->get("S2"));
real csi(cs.get(0));
real csv(cs.get(1));
real csv(cs.get(1));
/* incrociamm'e dituozz' */
csi += nin_imp;
csv += nin_iva;
rti += rit_imp;
rtv += rit_iva;
@ -1054,7 +1063,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
_pim->put("S1",fr);
// corrispettivi gia' scorporati; anche questi servono per
// non cannare la stampa dei registri
// non cannare la stampa dei registri; contengono anche
// tutti i non incassati (vedi definizione di bool nonimp)
cs.add(csi.string(), 0);
cs.add(csv.string(), 1);
_pim->put("S2",cs);
@ -1148,10 +1158,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
// 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);
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)
{
@ -1619,7 +1629,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
/*
* Interessi dovuti solo da trimestrali in periodica,
* Era anche non benzinari, smentito da Cinzia (MI0853);
* Ora gestito esplicitamente nei parametri ditts
* Ora gestito esplicitamente nei parametri ditta, forzato
* FALSE per ditte mensili e liq. annuale
*/
if (_isintr && month < 13)
{

View File

@ -768,8 +768,7 @@ void Visliq_app::recalc_liq_data(TViswin* vsw, real& rimb, real& rett, real& ver
// calcola vecchio risultato: se e' diverso da R0 ci sono cazzi strani
// e invalidiamo B0 cosi' impara
real risul = iva_ven - iva_acq - udt + rmb - vri + cgp + rtt -
act - cre_pre + deb_pre;
real risul = iva_ven - iva_acq - udt + rmb + cgp - vri + rtt - act - cre_pre + deb_pre;
if (risul != ris)
{
@ -792,7 +791,7 @@ void Visliq_app::recalc_liq_data(TViswin* vsw, real& rimb, real& rett, real& ver
real intr(0.0);
if (!itt.is_zero())
if (!itt.is_zero() && risul.sign() > 0)
{
// calcola interesse
intr = risul * (itt/real(100.0));