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)
{
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:
ab0200(argc,argv); break; //Sintassi ab0 -1 -utente
case 2:

View File

@ -22,6 +22,7 @@ public:
static bool giorno_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() {}
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));
if (mese == 2)
if (giorno > 29)
if (giorno > 28)
return f.warning_box("Valore non valido per il giorno");
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;
}
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()
{
Tab_application::user_create();
@ -88,9 +111,11 @@ bool Tabanabil_application::user_create()
_msk->set_handler(F_MESE_INI, mese_handler);
_msk->set_handler(F_GIORNO_FINE, giorno_handler);
_msk->set_handler(F_MESE_FINE, mese_handler);
_msk->set_handler(F_NUM_ANNI, anni_handler);
}
if (_tabname == "%ARB")
set_search_field(F_CODTAB_ESE);
set_search_field(F_CODTAB_ESE);
return TRUE;
}

View File

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

View File

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