- 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)
{
TString16 dep(format("%04d", annoch));
TTable esc ("ESC");
TDate inizio,fine;
inizio = botime;
fine = botime;
esc.zero();
esc.put("CODTAB", dep);
esc.read();
esc.next();
int anno = atoi(esc.get("CODTAB"));
if (anno != annoap)
for (esc.first();!esc.eof();esc.next())
{
int anno = atoi(esc.get("CODTAB"));
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 TRUE;
}
HIDDEN TRectype& cerca_esercizio(int anno)
HIDDEN TRectype& cerca_esercizio(int anno,TMask_field& f)
{
// TTable TabEs ("ESC");
TTable& TabEs = *(app()._esc);
@ -120,7 +128,7 @@ HIDDEN TRectype& cerca_esercizio(int anno)
if (TabEs.read() == NOERR)
return TabEs.curr();
else
warning_box("Esercizio non presente in tabella esercizi");
f.warning_box("Esercizio non presente in tabella esercizi");
TabEs.zero();
@ -129,7 +137,6 @@ HIDDEN TRectype& cerca_esercizio(int anno)
bool mask_datac (TMask_field& f, KEY k)
{
//TTable TabEs ("ESC");
TTable TabReg("REG");
TString annos (4);
int anno = 0;;
@ -139,15 +146,6 @@ bool mask_datac (TMask_field& f, KEY k)
int annoch = 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) )
{
annoch = f.mask().get_int(F_ANNOCH);
@ -156,24 +154,15 @@ bool mask_datac (TMask_field& f, KEY k)
if (!anni_contigui(annoch,annoap))
return FALSE;
TabEsch = cerca_esercizio(annoap);
TabEsch = cerca_esercizio(annoap,f);
TDate inizio = TabEsch.get_date("D0");
TDate fine = TabEsch.get_date("D1");
TDate scarico = TabEsch.get_date("D2");
TabEsap = cerca_esercizio(annoch);
TabEsap = cerca_esercizio(annoch,f);
TDate iniziop = TabEsap.get_date("D0");
TDate finep = TabEsap.get_date("D1");
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)
{
@ -236,29 +225,41 @@ bool mask_dataap (TMask_field& f, KEY k)
int annoch = 0;
int annoap = 0;
if ( k == K_TAB )
if ( k == K_TAB && f.focusdirty() )
{
TDate data = f.mask().get_date(F_DATAAP);
int anno = date2esc(data);
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) )
{
annoch = f.mask().get_int(F_ANNOCH);
annoap = f.mask().get_int(F_ANNO);
if (!anni_contigui(annoch,annoap))
return FALSE;
TabEsch = cerca_esercizio(annoap);
TabEsch = cerca_esercizio(annoap,f);
TDate inizio = TabEsch.get_date("D0");
TDate fine = TabEsch.get_date("D1");
TDate scarico = TabEsch.get_date("D2");
TabEsap = cerca_esercizio(annoch);
TabEsap = cerca_esercizio(annoch,f);
TDate iniziop = TabEsap.get_date("D0");
TDate finep = TabEsap.get_date("D1");
TDate data = f.get();