pagament.cpp: eliminato assurdo setting date in set_imprata; aggiunta

set_inizio dove serviva


git-svn-id: svn://10.65.10.50/trunk@2498 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1996-01-24 11:43:55 +00:00
parent f66055f624
commit b073fd9a0a
2 changed files with 25 additions and 16 deletions

View File

@ -413,12 +413,14 @@ bool LiqAcc_app::video_vis()
m.field(F_NONANN).set(non_ann.string()); m.field(F_NONANN).set(non_ann.string());
} }
real tmp = abs(iva_ret);
if (iva_ret.sign() <= 0) if (iva_ret.sign() <= 0)
m.field(F_IVAREC).set(abs(iva_ret).string()); m.field(F_IVAREC).set(tmp.string());
else m.field(F_IVARED).set(iva_ret.string()); else m.field(F_IVARED).set(iva_ret.string());
tmp = iva_acq + acq_intr;
m.field(F_IVARIM).set(iva_rim.string()); m.field(F_IVARIM).set(iva_rim.string());
m.field(F_IVAACQ).set((iva_acq + acq_intr).string()); m.field(F_IVAACQ).set(tmp.string());
if (per_pro.is_zero()) if (per_pro.is_zero())
m.hide(F_PERPRO); m.hide(F_PERPRO);
@ -450,8 +452,11 @@ bool LiqAcc_app::video_vis()
{ {
m.show(F_IVADEB); m.show(F_IVADEB);
m.hide(F_IVACRE); m.hide(F_IVACRE);
if (liqdiff) //se no e' gestito da maschera if (liqdiff) //se no e' gestito da maschera
m.field(F_IVADEB).set(abs(diff).string()); {
real tmp = abs(diff);
m.field(F_IVADEB).set(tmp.string());
}
} }
else if (diff.sign() > 0) else if (diff.sign() > 0)
{ {
@ -468,8 +473,9 @@ else
if (acconto.sign() < 0) if (acconto.sign() < 0)
{ {
m.show(F_CREEVI); m.show(F_CREEVI);
m.field(F_CREEVI).set(abs(acconto).string()); real tmp = abs(acconto);
m.field(F_CREEVI).set(tmp.string());
m.hide(F_ACCVER); m.hide(F_ACCVER);
m.hide(F_ACCNVER); m.hide(F_ACCNVER);
} }

View File

@ -53,6 +53,7 @@ void TPagamento::set_inizio(const TDate& d)
{ {
_datadoc = d; _datadoc = d;
_inizio = d; _inizio = d;
_inited = TRUE;
// aggiusta _inizio secondo INSCAD; vedi mese commerciale etc. // aggiusta _inizio secondo INSCAD; vedi mese commerciale etc.
if (_inscad == 'M') if (_inscad == 'M')
{ {
@ -65,7 +66,7 @@ void TPagamento::set_inizio(const TDate& d)
_inizio.set_day(30); _inizio.set_day(30);
} }
TDate data(d); // Aggiusta data iniziale con i gironi prima rata TDate data(_inizio); // Aggiusta data iniziale con i gironi prima rata
next_scad(data, scad_rata(0), _mcomm, 0); next_scad(data, scad_rata(0), _mcomm, 0);
bool dummy; bool dummy;
@ -430,7 +431,7 @@ void TPagamento::adjust_importo_lire()
void TPagamento::next_scad(TDate& d, int scad, bool mcomm, int rata) void TPagamento::next_scad(TDate& d, int scad, bool mcomm, int rata)
{ {
if (mcomm) if (mcomm && rata > 0)
{ {
int nm = scad / 30; int nm = scad / 30;
int ny = nm / 12; int ny = nm / 12;
@ -445,10 +446,10 @@ void TPagamento::next_scad(TDate& d, int scad, bool mcomm, int rata)
// la palla del febbraio & c. // la palla del febbraio & c.
if (rata > 1) if (rata > 1)
{ {
TDate oldd(data_rata(rata-2)); TDate oldd(data_rata(rata-2));
if (oldd.day() > dy) dy = oldd.day(); if (oldd.day() > dy) dy = oldd.day();
} }
d.set_day(1); // il giorno 1 ce l'hanno tutti d.set_day(1); // il giorno 1 ce l'hanno tutti
d.set_month(newm); d.set_month(newm);
@ -572,11 +573,12 @@ void TPagamento::set_imprata(int i, const real& r)
{ {
TToken_string& tt = (TToken_string&)_rate[i]; TToken_string& tt = (TToken_string&)_rate[i];
TDate d = _inizio; TDate d = _inizio;
for (int n = 0; n <= i; n++) // set_inizio(d);
next_scad(d, scad_rata(n), _mcomm, n); // for (int n = 0; n <= i; n++)
// next_scad(d, scad_rata(n), _mcomm, n);
tt.add((const char*)d, 3); // tt.add((const char*)d, 3);
tt.add(r.string(), 4); tt.add(r.string(), 4);
if (_cambio != 1.0) if (_cambio != 1.0)
{ {
@ -1524,6 +1526,7 @@ void TPagamento::set_rate_auto()
toslice = _secndr; toslice = _secndr;
} }
set_inizio(_inizio);
_slicer.init(toslice); _slicer.init(toslice);
if (_tpr > 3) if (_tpr > 3)
@ -1765,5 +1768,5 @@ _def_tpr(1), _def_ulc(""), _round(0), _int_rate(30), _tpr(0), _rdiff(FALSE)
_datadoc = _inizio; _datadoc = _inizio;
if (_code.blank() || !read()) if (_code.blank() || !read())
_new = TRUE; _new = TRUE;
} }