Corretto test su giorni fissi di scadenza
git-svn-id: svn://10.65.10.50/trunk@2362 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8c1abd1a43
commit
2fbf4c8ad8
@ -297,17 +297,40 @@ bool BA3700_application::fixed_scad(TMask_field& f, KEY k)
|
||||
{
|
||||
// setta mcomm e ricalcola le scadenze
|
||||
// pag->set_mese_commerciale()
|
||||
if (k != K_TAB || f.mask().query_mode()) return TRUE;
|
||||
if (!f.to_check(k) || f.mask().query_mode()) return TRUE;
|
||||
sht* s = (sht*)get_app_data();
|
||||
TPagamento* pag = s->_pag;
|
||||
|
||||
if (!pag) return TRUE;
|
||||
|
||||
int ir = 0;
|
||||
if (f.dlg() == F_FIXSCAD_2) ir = 1;
|
||||
else if (f.dlg() == F_FIXSCAD_3) ir = 2;
|
||||
const int val = atoi(f.get());
|
||||
if (val < 0 || val >31 )
|
||||
return f.error_box("Giorno errato");
|
||||
|
||||
pag->set_fixed_scad(atoi(f.get()),ir);
|
||||
int i = 0;
|
||||
static fld_arr[3] = {F_FIXSCAD_1, F_FIXSCAD_2, F_FIXSCAD_3};
|
||||
|
||||
for (i = 0 ; i < 3; i++)
|
||||
if (f.dlg() == fld_arr[i])
|
||||
break;
|
||||
CHECK( i < 3, "Unknown field");
|
||||
|
||||
if (i > 0)
|
||||
{
|
||||
const int prev_val = f.mask().get_int(fld_arr[i -1]);
|
||||
|
||||
if (val != 0 && (prev_val == 0 || prev_val >= val))
|
||||
return f.error_box("Giorno non in sequenza");
|
||||
}
|
||||
if (k != K_ENTER && i < 2)
|
||||
{
|
||||
const int next_val = f.mask().get_int(fld_arr[i + 1]);
|
||||
|
||||
if (next_val != 0 && next_val < val)
|
||||
return f.error_box("Giorno non in sequenza");
|
||||
}
|
||||
|
||||
pag->set_fixed_scad(val, i);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -147,8 +147,6 @@ BEGIN
|
||||
PROMPT 5 9 "Giorni scadenza fissi (1) "
|
||||
FIELD I0
|
||||
HELP "Giorno scadenza obbligato: prima alternativa"
|
||||
NUM_EXPR (#F_FIXSCAD_1>=0)&&(#F_FIXSCAD_1<=31)
|
||||
WARNING "Il giorno del mese e' compreso tra 1 e 31!"
|
||||
END
|
||||
|
||||
NUMBER F_FIXSCAD_2 2
|
||||
@ -156,8 +154,6 @@ BEGIN
|
||||
PROMPT 36 9 "(2) "
|
||||
FIELD I1
|
||||
HELP "Giorno scadenza obbligato: seconda alternativa"
|
||||
NUM_EXPR (#F_FIXSCAD_2==0)||((#F_FIXSCAD_2>0)&&(#F_FIXSCAD_2<=31)&&(#F_FIXSCAD_2>#F_FIXSCAD_1))
|
||||
WARNING "Giorno errato o non in sequenza"
|
||||
END
|
||||
|
||||
NUMBER F_FIXSCAD_3 2
|
||||
@ -165,8 +161,6 @@ BEGIN
|
||||
PROMPT 44 9 "(3) "
|
||||
FIELD I2
|
||||
HELP "Giorno scadenza obbligato: terza alternativa"
|
||||
NUM_EXPR (#F_FIXSCAD_3==0)||((#F_FIXSCAD_3>0)&&(#F_FIXSCAD_3<=31)&&(#F_FIXSCAD_3>#F_FIXSCAD_2)&&(#F_FIXSCAD_3>#F_FIXSCAD_1))
|
||||
WARNING "Giorno errato o non in sequenza"
|
||||
END
|
||||
|
||||
BOOLEAN F_MESECOMM
|
||||
@ -261,3 +255,4 @@ END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user