Inserito controllo per il numero di anni nei periodi di bilancio

Accorciati i campi mese e gionro nella maschera a 2 cifre


git-svn-id: svn://10.65.10.50/trunk@5462 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-10-27 15:51:17 +00:00
parent fb91fa4c58
commit 19ef688837
4 changed files with 46 additions and 21 deletions

View File

@ -12,7 +12,7 @@ int main(int argc,char** argv)
switch (n) switch (n)
{ {
case 0: case 0:
ab0100(argc,argv); break; //Sintassi ab0 -0 tab_name -utente ab0100(argc,argv); break; //Gestione Tabelle: Sintassi ab0 -0 tab_name -utente
case 1: case 1:
ab0200(argc,argv); break; //Sintassi ab0 -1 -utente ab0200(argc,argv); break; //Sintassi ab0 -1 -utente
case 2: case 2:

View File

@ -22,6 +22,7 @@ public:
static bool giorno_handler(TMask_field& f, KEY k); static bool giorno_handler(TMask_field& f, KEY k);
static bool mese_handler (TMask_field& f, KEY k); static bool mese_handler (TMask_field& f, KEY k);
static bool anni_handler (TMask_field& f, KEY k);
Tabanabil_application() {} Tabanabil_application() {}
virtual ~Tabanabil_application() {} virtual ~Tabanabil_application() {}
@ -64,7 +65,7 @@ bool Tabanabil_application::mese_handler(TMask_field& f, KEY k)
int giorno = (f.dlg() == F_MESE_INI ? f.mask().get_int(F_GIORNO_INI) : f.mask().get_int(F_GIORNO_FINE)); int giorno = (f.dlg() == F_MESE_INI ? f.mask().get_int(F_GIORNO_INI) : f.mask().get_int(F_GIORNO_FINE));
if (mese == 2) if (mese == 2)
if (giorno > 29) if (giorno > 28)
return f.warning_box("Valore non valido per il giorno"); return f.warning_box("Valore non valido per il giorno");
if (mese == 11 || mese == 4 || mese == 6 || mese == 9) if (mese == 11 || mese == 4 || mese == 6 || mese == 9)
@ -75,6 +76,28 @@ bool Tabanabil_application::mese_handler(TMask_field& f, KEY k)
return TRUE; return TRUE;
} }
bool Tabanabil_application::anni_handler(TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TMask & m=f.mask();
TDate inizio(m.get_int(F_GIORNO_INI),m.get_int(F_MESE_INI),1993);
if (inizio.empty())
return TRUE;
TDate fine(m.get_int(F_GIORNO_FINE),m.get_int(F_MESE_FINE),1993+m.get_int(F_NUM_ANNI));
if (fine.empty())
return TRUE;
if (fine==inizio)
return f.error_box("Date uguali: specificare il numero di anni");
if (fine<inizio)
return f.error_box("Data finale inferiore alla iniziale: specificare il numero di anni");
}
return TRUE;
}
bool Tabanabil_application::user_create() bool Tabanabil_application::user_create()
{ {
Tab_application::user_create(); Tab_application::user_create();
@ -88,6 +111,8 @@ bool Tabanabil_application::user_create()
_msk->set_handler(F_MESE_INI, mese_handler); _msk->set_handler(F_MESE_INI, mese_handler);
_msk->set_handler(F_GIORNO_FINE, giorno_handler); _msk->set_handler(F_GIORNO_FINE, giorno_handler);
_msk->set_handler(F_MESE_FINE, mese_handler); _msk->set_handler(F_MESE_FINE, mese_handler);
_msk->set_handler(F_NUM_ANNI, anni_handler);
} }
if (_tabname == "%ARB") if (_tabname == "%ARB")
set_search_field(F_CODTAB_ESE); set_search_field(F_CODTAB_ESE);

View File

@ -7,4 +7,4 @@
#define F_GIORNO_FINE 105 #define F_GIORNO_FINE 105
#define F_MESE_FINE 106 #define F_MESE_FINE 106
#define F_DESCRAGG 107 #define F_DESCRAGG 107
#define NUM_ANNI 108 #define F_NUM_ANNI 108

View File

@ -54,56 +54,56 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_GIORNO_INI 7 NUMBER F_GIORNO_INI 2
BEGIN BEGIN
PROMPT 2 8 "Inizio periodo: gg " PROMPT 2 8 "Inizio periodo: giorno "
HELP "Inserire il giorno relativo al periodo di inizio" HELP "Inserire il giorno relativo al periodo di inizio"
FIELD I0 FIELD I0
FLAGS "R" FLAGS "RU"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_MESE_INI 7 NUMBER F_MESE_INI 2
BEGIN BEGIN
PROMPT 32 8 "mm " PROMPT 32 8 "mese "
HELP "Inserire il mese relativo al periodo di inizio" HELP "Inserire il mese relativo al periodo di inizio"
FIELD I1 FIELD I1
FLAGS "R" FLAGS "RU"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_GIORNO_FINE 7 NUMBER F_GIORNO_FINE 2
BEGIN BEGIN
PROMPT 2 10 "Fine periodo: gg " PROMPT 2 10 "Fine periodo: giorno "
HELP "Inserire il giorno relativo alla fine del periodo" HELP "Inserire il giorno relativo alla fine del periodo"
FIELD I2 FIELD I2
FLAGS "R" FLAGS "RU"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_MESE_FINE 7 NUMBER F_MESE_FINE 2
BEGIN BEGIN
PROMPT 32 10 "mm " PROMPT 32 10 "mese "
HELP "Inserire il mese relativo alla fine del periodo" HELP "Inserire il mese relativo alla fine del periodo"
FIELD I3 FIELD I3
FLAGS "R" FLAGS "RU"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER NUM_ANNI 7 NUMBER F_NUM_ANNI 1
BEGIN BEGIN
PROMPT 2 16 "Numero di anni " PROMPT 2 12 "Numero di anni "
HELP "Inserire il numero di anni" HELP "Inserire il numero di anni"
FIELD I4 FIELD I4
FLAGS "R" FLAGS "RU"
CHECKTYPE REQUIRED CHECKTYPE NORMAL
END END
STRING F_DESCRAGG 70 30 STRING F_DESCRAGG 70 30
BEGIN BEGIN
PROMPT 2 18 "Descrizione alternativa per stampa raffronti " PROMPT 2 15 "Descrizione alternativa per stampa raffronti "
FIELD S1 FIELD S1
END END