Strunzatelle per date e valute non volute

git-svn-id: svn://10.65.10.50/trunk@2557 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1996-02-05 10:40:51 +00:00
parent eee0bb3ef1
commit d2671c6f69

@ -505,36 +505,36 @@ void TPagamento::set_cambio(const real& cambio, bool recalc_lit)
void TPagamento::next_scad(TDate& d, int scad, bool mcomm, int rata)
{
if (rata == 0 || !mcomm) d += scad;
if (rata == 0 || !mcomm)
d += scad;
if (mcomm)
{
int nm = scad / 30;
int ny = nm / 12;
nm %= 12;
int newm = d.month() + nm;
if (newm > 12) { newm -= 12; ny++; }
bool last = d.is_end_month() && inizio_scadenza() == 'M';
int dy = d.day();
// la palla del febbraio & c.
if (rata > 1)
{
int nm = scad / 30;
int ny = nm / 12;
nm %= 12;
TDate oldd(data_rata(rata-2));
if (oldd.day() > dy) dy = oldd.day();
}
int newm = d.month() + nm;
if (newm > 12) { newm -= 12; ny++; }
d.set_day(1); // il giorno 1 ce l'hanno tutti
d.set_month(newm);
d.set_year(d.year()+ny);
bool last = d.is_end_month() && inizio_scadenza() == 'M';
int dy = d.day();
// 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);
d.set_year(d.year()+ny);
d.set_end_month();
if (!last && dy < d.day())
d.set_day(dy);
}
d.set_end_month();
if (!last && dy < d.day())
d.set_day(dy);
}
}
void TPagamento::set_default_type(int type, bool change_existing)
@ -767,7 +767,7 @@ word TPagamento::validate() const
if (tot != tmax) res |= P_TOTNCLIT;
if (in_valuta)
if (in_valuta())
{
tot = 0.0;
for (int i = 0; i < n_rate(); i++)
@ -1000,11 +1000,11 @@ word TPagamento::recalc_rate(int row, bool is_perc_modified,
TDate ddd (lastdate);
for (int j = row+1; j < srate.items(); j++)
{
TToken_string& tt = rata(j);
TToken_string& ss = (TToken_string&)srate[j];
TToken_string& ttt = rata(j);
TToken_string& sss = (TToken_string&)srate[j];
next_scad(ddd,scad_rata(j), mcomm,j);
tt.add(ddd.string(),3);
ss.add(ddd.string(),3);
ttt.add(ddd.string(),3);
sss.add(ddd.string(),3);
need_recalc = TRUE;
}
}