- Correzione errore MI3488 della chiusura / apertura conti

git-svn-id: svn://10.65.10.50/trunk@3716 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
ale 1996-10-07 14:15:19 +00:00
parent 6489a14237
commit dbb67bab34

View File

@ -94,22 +94,30 @@ HIDDEN bool abilita_anni(TMask& m, KEY k)
HIDDEN bool anni_contigui (int annoch, int annoap) HIDDEN bool anni_contigui (int annoch, int annoap)
{ {
TString16 dep(format("%04d", annoch));
TTable esc ("ESC"); TTable esc ("ESC");
TDate inizio,fine;
inizio = botime;
fine = botime;
esc.zero(); esc.zero();
esc.put("CODTAB", dep); for (esc.first();!esc.eof();esc.next())
esc.read(); {
esc.next(); int anno = atoi(esc.get("CODTAB"));
int anno = atoi(esc.get("CODTAB")); if (anno == annoap)
if (anno != annoap) inizio = esc.get_date("D0");
if (anno == annoch)
fine = esc.get_date("D1");
if (inizio != botime && fine != botime) break;
}
--inizio;
if (inizio != fine)
return warning_box("I due esercizi indicati non risultano contigui"); return warning_box("I due esercizi indicati non risultano contigui");
return TRUE; return TRUE;
} }
HIDDEN TRectype& cerca_esercizio(int anno) HIDDEN TRectype& cerca_esercizio(int anno,TMask_field& f)
{ {
// TTable TabEs ("ESC"); // TTable TabEs ("ESC");
TTable& TabEs = *(app()._esc); TTable& TabEs = *(app()._esc);
@ -120,7 +128,7 @@ HIDDEN TRectype& cerca_esercizio(int anno)
if (TabEs.read() == NOERR) if (TabEs.read() == NOERR)
return TabEs.curr(); return TabEs.curr();
else else
warning_box("Esercizio non presente in tabella esercizi"); f.warning_box("Esercizio non presente in tabella esercizi");
TabEs.zero(); TabEs.zero();
@ -129,7 +137,6 @@ HIDDEN TRectype& cerca_esercizio(int anno)
bool mask_datac (TMask_field& f, KEY k) bool mask_datac (TMask_field& f, KEY k)
{ {
//TTable TabEs ("ESC");
TTable TabReg("REG"); TTable TabReg("REG");
TString annos (4); TString annos (4);
int anno = 0;; int anno = 0;;
@ -139,15 +146,6 @@ bool mask_datac (TMask_field& f, KEY k)
int annoch = 0; int annoch = 0;
int annoap = 0; int annoap = 0;
if ( k == K_TAB )
{
TDate data = f.mask().get_date(F_DATAC);
int anno = date2esc(data);
if (anno != 0)
f.mask().set(F_ANNOCH, anno);
}
if ( (k == K_ENTER) && f.to_check(k) ) if ( (k == K_ENTER) && f.to_check(k) )
{ {
annoch = f.mask().get_int(F_ANNOCH); annoch = f.mask().get_int(F_ANNOCH);
@ -156,24 +154,15 @@ bool mask_datac (TMask_field& f, KEY k)
if (!anni_contigui(annoch,annoap)) if (!anni_contigui(annoch,annoap))
return FALSE; return FALSE;
TabEsch = cerca_esercizio(annoap); TabEsch = cerca_esercizio(annoap,f);
TDate inizio = TabEsch.get_date("D0"); TDate inizio = TabEsch.get_date("D0");
TDate fine = TabEsch.get_date("D1"); TDate fine = TabEsch.get_date("D1");
TDate scarico = TabEsch.get_date("D2"); TDate scarico = TabEsch.get_date("D2");
TabEsap = cerca_esercizio(annoch); TabEsap = cerca_esercizio(annoch,f);
TDate iniziop = TabEsap.get_date("D0"); TDate iniziop = TabEsap.get_date("D0");
TDate finep = TabEsap.get_date("D1"); TDate finep = TabEsap.get_date("D1");
TDate data = f.get(); TDate data = f.get();
TString istr = inizio.string();
TString fstr = fine.string();
TString ipstr = iniziop.string();
TString fpstr = finep.string();
TString scastr = scarico.string();
TString datastr = f.get();
if (data < finep) if (data < finep)
{ {
@ -236,29 +225,41 @@ bool mask_dataap (TMask_field& f, KEY k)
int annoch = 0; int annoch = 0;
int annoap = 0; int annoap = 0;
if ( k == K_TAB ) if ( k == K_TAB && f.focusdirty() )
{ {
TDate data = f.mask().get_date(F_DATAAP); TDate data = f.mask().get_date(F_DATAAP);
int anno = date2esc(data); int anno = date2esc(data);
if (anno != 0) if (anno != 0)
f.mask().set(F_ANNO, anno); f.mask().set(F_ANNO, anno); // Esercizio di apertura
}
TabEsch = cerca_esercizio(anno,f);
TDate inizio = TabEsch.get_date("D0");
--inizio;
anno = date2esc(inizio);
if (anno != 0)
{
f.mask().set(F_ANNOCH, anno); // Esercizio di chiusura
f.mask().set(F_DATAC, inizio);
}
}
if ( (k == K_ENTER) && f.to_check(k) ) if ( (k == K_ENTER) && f.to_check(k) )
{ {
annoch = f.mask().get_int(F_ANNOCH); annoch = f.mask().get_int(F_ANNOCH);
annoap = f.mask().get_int(F_ANNO); annoap = f.mask().get_int(F_ANNO);
if (!anni_contigui(annoch,annoap)) if (!anni_contigui(annoch,annoap))
return FALSE; return FALSE;
TabEsch = cerca_esercizio(annoap); TabEsch = cerca_esercizio(annoap,f);
TDate inizio = TabEsch.get_date("D0"); TDate inizio = TabEsch.get_date("D0");
TDate fine = TabEsch.get_date("D1"); TDate fine = TabEsch.get_date("D1");
TDate scarico = TabEsch.get_date("D2"); TDate scarico = TabEsch.get_date("D2");
TabEsap = cerca_esercizio(annoch); TabEsap = cerca_esercizio(annoch,f);
TDate iniziop = TabEsap.get_date("D0"); TDate iniziop = TabEsap.get_date("D0");
TDate finep = TabEsap.get_date("D1"); TDate finep = TabEsap.get_date("D1");
TDate data = f.get(); TDate data = f.get();