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:
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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user