- 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:
parent
6489a14237
commit
dbb67bab34
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user