Aggiunto handler sul checkbox per eseguire solo la stampa: non deve

abilitare il ricalcolo nel caso sia selezionata l'annuale e viceversa
non si deve abilitare il list_box nel caso si cambi mese ma sia
richiesta la sola stampa senza ricalcolo.


git-svn-id: svn://10.65.10.50/trunk@5589 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-11-11 10:19:39 +00:00
parent 6423580907
commit 1bd1b6ce77
3 changed files with 22 additions and 7 deletions

View File

@ -673,7 +673,9 @@ bool TLiquidazione_app::lst_tm_handler(TMask_field& f, KEY key)
msk.field(CG43_LST_CALC).disable();
}
else
msk.field(CG43_LST_CALC).enable();
// Abilita il ricalcolo solo se non e' richiesta esplicitamente la sola stampa
if (!msk.get_bool(CG43_CHK_FINAL))
msk.field(CG43_LST_CALC).enable();
const bool change = (app()._month != 13 && m == 13) || (app()._month == 13 && m != 13);
if (change)
@ -714,6 +716,20 @@ bool TLiquidazione_app::reset_button(TMask_field& f, KEY key)
return TRUE;
}
bool TLiquidazione_app::chk_final_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
TMask& m = f.mask();
// Abilita solo se il mese di ricalcolo e' != 13 (annuale) e non e' checkkato il campo
int vers = m.get_int(CG43_RDB_VERS);
int mese = vers == 3 ? m.get_int(CG43_LST_TRIM) : m.get_int(CG43_LST_MESE);
const bool abilita = !m.get_bool(CG43_CHK_FINAL) && mese != 13;
m.enable(CG43_LST_CALC, abilita);
}
return TRUE;
}
void TLiquidazione_app::reset_choices(TMask& m)
{
_selected.reset();
@ -789,6 +805,8 @@ bool TLiquidazione_app::set_liquidazione()
m.set_handler(CG43_LST_TRIM, lst_tm_handler);
m.set_handler(CG43_BUT_SEL, select_button);
m.set_handler(CG43_BUT_ANN, reset_button);
m.set_handler(CG43_CHK_FINAL, chk_final_handler);
m.field(CG43_FLD_SELECTED).set(format("%ld",_selected.ones()));
m.field(CG43_FLD_ANNO).set(_year);

View File

@ -391,6 +391,7 @@ protected:
static bool lst_tm_handler(TMask_field& f, KEY key);
static bool select_button(TMask_field& f, KEY key);
static bool reset_button(TMask_field& f, KEY key);
static bool chk_final_handler(TMask_field& f, KEY key);
static TLiquidazione_app& app() { return (TLiquidazione_app&)main_app(); }

View File

@ -4,7 +4,6 @@ PAGE "Calcolo Liquidazioni" -1 -1 68 15
RADIOBUTTON CG43_RDB_VERS 16
BEGIN
PROMPT 4 1 "Versamenti"
HELP "Indicare di quali versamenti procedere con la liquidazione"
ITEM "1|Tutti" MESSAGE HIDE,CG43_LST_TRIM|SHOW,CG43_LST_MESE
ITEM "2|Mensili" MESSAGE HIDE,CG43_LST_TRIM|SHOW,CG43_LST_MESE
ITEM "3|Trimestrali" MESSAGE SHOW,CG43_LST_TRIM|HIDE,CG43_LST_MESE
@ -100,7 +99,6 @@ END
BOOLEAN CG43_CHK_STAMPA
BEGIN
PROMPT 5 11 "Esegui "
HELP "Indicare se stampare il prospetto delle liquidazioni"
MESSAGE TRUE ENABLE,CG43_FLD_DATA
MESSAGE FALSE DISABLE,CG43_FLD_DATA
END
@ -109,7 +107,6 @@ END
DATE CG43_FLD_DATA
BEGIN
PROMPT 18 11 "con data "
HELP "Data di stampa del prospetto delle liquidazioni"
FLAGS "A"
END
@ -117,9 +114,8 @@ END
BOOLEAN CG43_CHK_FINAL
BEGIN
PROMPT 45 11 "Solo stampa"
HELP "Indicare se si desidera la sola stampa delle liquidazioni calcolate"
MESSAGE TRUE DISABLE,CG43_LST_CALC
MESSAGE FALSE ENABLE,CG43_LST_CALC
// MESSAGE TRUE DISABLE,CG43_LST_CALC
// MESSAGE FALSE ENABLE,CG43_LST_CALC
END