Patch level : 10.0 896
Files correlati : ba3.exe cg2.exe ve0.exe ve6.exe Ricompilazione Demo : [ ] Commento : il periodo di non accettazione effetti viene applicato per i seguenti tipi di movimento tratta ricevuta bancaria cessione paghero tratta accettata (SRM) git-svn-id: svn://10.65.10.50/branches/R_10_00@21491 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
dd28e8f519
commit
88bacf0eb0
@ -1921,50 +1921,59 @@ void TPagamento::adjust_refused_scad()
|
||||
TToken_string dalgiorno(5, '-'), algiorno(5, '-');
|
||||
for (int i = 0; i < n_rate(); i++)
|
||||
{
|
||||
const TDate d = data_rata(i);
|
||||
int inter = 0;
|
||||
for (bool good = nonacceff.get(inter, intervallo);
|
||||
good; good = nonacceff.get(++inter, intervallo))
|
||||
{
|
||||
intervallo.get(0, dalgiorno);
|
||||
int gio = dalgiorno.get_int(0);
|
||||
int mes = dalgiorno.get_int(1);
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
int ann = d.year();
|
||||
int max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0) gio = 1; else
|
||||
if (gio > max_gio) gio = max_gio;
|
||||
TTipo_pag tipo = tipo_rata(i);
|
||||
|
||||
if (tipo == _tratta ||
|
||||
tipo == _ric_ban ||
|
||||
tipo == _cessione ||
|
||||
tipo == _paghero ||
|
||||
tipo == _tratta_acc)
|
||||
{
|
||||
const TDate d = data_rata(i);
|
||||
int inter = 0;
|
||||
for (bool good = nonacceff.get(inter, intervallo);
|
||||
good; good = nonacceff.get(++inter, intervallo))
|
||||
{
|
||||
intervallo.get(0, dalgiorno);
|
||||
int gio = dalgiorno.get_int(0);
|
||||
int mes = dalgiorno.get_int(1);
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
int ann = d.year();
|
||||
int max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0) gio = 1; else
|
||||
if (gio > max_gio) gio = max_gio;
|
||||
|
||||
const TDate frd(gio, mes, ann);
|
||||
if (d < frd)
|
||||
continue;
|
||||
const TDate frd(gio, mes, ann);
|
||||
if (d < frd)
|
||||
continue;
|
||||
|
||||
intervallo.get(1, algiorno);
|
||||
gio = algiorno.get_int(0);
|
||||
mes = algiorno.get_int(1);
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
ann += (mes < frd.month()) ? 1 : 0;
|
||||
max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0 || gio > max_gio)
|
||||
gio = max_gio;
|
||||
const TDate tod(gio, mes, ann);
|
||||
if (d > tod)
|
||||
continue;
|
||||
|
||||
nonscadeff.get(inter, algiorno);
|
||||
gio = algiorno.get_int(0);
|
||||
mes = algiorno.get_int(1);
|
||||
ann += (mes < tod.month()) ? 1 : 0;
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0 || gio > max_gio)
|
||||
gio = max_gio;
|
||||
intervallo.get(1, algiorno);
|
||||
gio = algiorno.get_int(0);
|
||||
mes = algiorno.get_int(1);
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
ann += (mes < frd.month()) ? 1 : 0;
|
||||
max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0 || gio > max_gio)
|
||||
gio = max_gio;
|
||||
const TDate tod(gio, mes, ann);
|
||||
if (d > tod)
|
||||
continue;
|
||||
|
||||
nonscadeff.get(inter, algiorno);
|
||||
gio = algiorno.get_int(0);
|
||||
mes = algiorno.get_int(1);
|
||||
ann += (mes < tod.month()) ? 1 : 0;
|
||||
if (mes <= 0 || mes > 12) mes = 1;
|
||||
max_gio = TDate::last_day(mes, ann);
|
||||
if (gio <= 0 || gio > max_gio)
|
||||
gio = max_gio;
|
||||
|
||||
const TDate nd(gio, mes, ann);
|
||||
TToken_string& tt = rata(i);
|
||||
tt.add(nd.string(), 3);
|
||||
break;
|
||||
}
|
||||
const TDate nd(gio, mes, ann);
|
||||
TToken_string& tt = rata(i);
|
||||
tt.add(nd.string(), 3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user