Corretta next_scad

git-svn-id: svn://10.65.10.50/trunk@2606 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-16 17:01:42 +00:00
parent e37c67d877
commit facbf4ddaf
2 changed files with 19 additions and 17 deletions

View File

@ -15,14 +15,14 @@ END
NUMBER FS_IMPOSTE 15 NUMBER FS_IMPOSTE 15
BEGIN BEGIN
PROMPT 31 1 "Imposte " PROMPT 30 1 "Imposte "
PICTURE "." PICTURE "."
FLAGS "D" FLAGS "D"
END END
NUMBER FS_SPESE 15 NUMBER FS_SPESE 15
BEGIN BEGIN
PROMPT 58 1 "Spese " PROMPT 56 1 "Spese "
PICTURE "." PICTURE "."
FLAGS "DR" FLAGS "DR"
END END
@ -43,7 +43,7 @@ END
BOOLEAN FS_RECALC BOOLEAN FS_RECALC
BEGIN BEGIN
PROMPT 57 5 "Ricalcolo automatico" PROMPT 56 5 "Ricalcolo automatico"
MESSAGE TRUE ENABLE,FS_RDIFFER|ENABLE,FS_MCOMM|K_SPACE,FS_RDIFFER MESSAGE TRUE ENABLE,FS_RDIFFER|ENABLE,FS_MCOMM|K_SPACE,FS_RDIFFER
MESSAGE FALSE DISABLE,FS_RDIFFER|DISABLE,FS_MCOMM|DISABLE,FS_NRATE MESSAGE FALSE DISABLE,FS_RDIFFER|DISABLE,FS_MCOMM|DISABLE,FS_NRATE
END END
@ -96,13 +96,13 @@ BEGIN
GROUP 3 GROUP 3
END END
STRING FS_NAMEPAG 50 27 STRING FS_NAMEPAG 50 25
BEGIN BEGIN
PROMPT 36 3 "Pagamento " PROMPT 36 3 "Pagamento "
FLAGS "D" FLAGS "D"
END END
STRING FS_TIPOPR 27 STRING FS_TIPOPR 50 25
BEGIN BEGIN
PROMPT 36 4 "Tipo prima rata " PROMPT 36 4 "Tipo prima rata "
FLAGS "D" FLAGS "D"
@ -134,7 +134,7 @@ END
STRING FS_DESCNSABI 50 37 STRING FS_DESCNSABI 50 37
BEGIN BEGIN
PROMPT 40 8 "" PROMPT 38 8 ""
USE %BAN KEY 2 USE %BAN KEY 2
INPUT S0 FS_DESCNSABI INPUT S0 FS_DESCNSABI
DISPLAY "Denominazione@50" S0 DISPLAY "Denominazione@50" S0
@ -168,7 +168,7 @@ END
STRING FS_DESCVSABI 50 37 STRING FS_DESCVSABI 50 37
BEGIN BEGIN
PROMPT 40 9 "" PROMPT 38 9 ""
COPY USE FS_DESCNSABI COPY USE FS_DESCNSABI
INPUT S0 FS_DESCVSABI INPUT S0 FS_DESCVSABI
COPY DISPLAY FS_DESCNSABI COPY DISPLAY FS_DESCNSABI
@ -191,7 +191,7 @@ END
STRING FS_DESCAGENTE 50 STRING FS_DESCAGENTE 50
BEGIN BEGIN
PROMPT 27 10 "" PROMPT 25 10 ""
USE AGE KEY 2 USE AGE KEY 2
INPUT S0 FS_DESCAGENTE INPUT S0 FS_DESCAGENTE
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0

View File

@ -433,36 +433,38 @@ void TPagamento::set_numero_rate(int n, int sscad, int rdiff)
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 (rata == 0) d += scad; if (mcomm && !(rata == 0 && (scad % 30) != 0))
if (mcomm /* && rata > 0 */)
{ {
int nm = scad / 30; int nm = scad / 30;
int ny = nm / 12; int ny = nm / 12;
nm %= 12; nm %= 12;
int newm = d.month() + nm; int newm = d.month() + nm;
if (newm > 12) { newm -= 12; ny++; } if (newm > 12) { newm -= 12; ny++; }
bool last = d.is_end_month() && inizio_scadenza() == 'M'; bool last = d.is_end_month() && inizio_scadenza() == 'M';
int dy = d.day(); int dy = d.day();
// 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);
d.set_year(d.year()+ny); d.set_year(d.year()+ny);
d.set_end_month(); d.set_end_month();
if (!last && dy < d.day()) if (!last && dy < d.day())
d.set_day(dy); d.set_day(dy);
} }
else if (rata > 0) d += scad; else
{
d += scad;
}
} }
void TPagamento::set_default_type(int type, bool change_existing) void TPagamento::set_default_type(int type, bool change_existing)