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());
}
real tmp = abs(iva_ret);
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());
tmp = iva_acq + acq_intr;
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())
m.hide(F_PERPRO);
@ -450,8 +452,11 @@ bool LiqAcc_app::video_vis()
{
m.show(F_IVADEB);
m.hide(F_IVACRE);
if (liqdiff) //se no e' gestito da maschera
m.field(F_IVADEB).set(abs(diff).string());
if (liqdiff) //se no e' gestito da maschera
{
real tmp = abs(diff);
m.field(F_IVADEB).set(tmp.string());
}
}
else if (diff.sign() > 0)
{
@ -468,8 +473,9 @@ else
if (acconto.sign() < 0)
{
m.show(F_CREEVI);
m.field(F_CREEVI).set(abs(acconto).string());
m.show(F_CREEVI);
real tmp = abs(acconto);
m.field(F_CREEVI).set(tmp.string());
m.hide(F_ACCVER);
m.hide(F_ACCNVER);
}

View File

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