- 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)
|
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,13 +225,25 @@ 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) )
|
||||||
@ -253,12 +254,12 @@ bool mask_dataap (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();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user