Correzione al ricalcolo saldi

git-svn-id: svn://10.65.10.50/trunk@1068 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
pirro 1995-03-02 11:52:18 +00:00
parent 02231b454c
commit f645b800e0

View File

@ -362,17 +362,32 @@ bool CG4100_App::sort_sal()
sal.reset(); sal.reset();
sal.set_anno_es(year); sal.set_anno_es(year);
sal.clear_saldi(year); sal.clear_saldi(year);
long numreg = 0L;
bool apertura = FALSE, provvis = FALSE;
TDate datareg;
while (!rmov.eof()) while (!rmov.eof())
{ {
if (_year == rmov.get(RMV_ANNOES)) if (_year == rmov.get(RMV_ANNOES))
{ {
const long numreg = rmov.get_long(RMV_NUMREG); numreg = rmov.get_long(RMV_NUMREG);
gruppo = rmov.get_int(RMV_GRUPPO); gruppo = rmov.get_int(RMV_GRUPPO);
conto = rmov.get_int(RMV_CONTO); conto = rmov.get_int(RMV_CONTO);
sottoconto = rmov.get_long(RMV_SOTTOCONTO); sottoconto = rmov.get_long(RMV_SOTTOCONTO);
if (numreg != oldnumreg) if (numreg != oldnumreg)
{ {
if (oldnumreg !=0)
{
sal.set_anno_es(atoi(_year));
sal.set_movap(apertura);
sal.set_movprovv(provvis);
sal.set_data_ulmov(datareg);
sal.set_num_ulmov(oldnumreg);
if (sal.items() > 0)
sal.registra();
sal.reset();
}
oldnumreg = numreg; oldnumreg = numreg;
mov.zero(); mov.zero();
mov.put(MOV_NUMREG, numreg); mov.put(MOV_NUMREG, numreg);
@ -388,27 +403,26 @@ bool CG4100_App::sort_sal()
causali.put(CAU_CODCAUS, codcaus); causali.put(CAU_CODCAUS, codcaus);
causali.read(); causali.read();
CHECK(causali.good(),"Archivi causali e movimenti inconsistenti"); CHECK(causali.good(),"Archivi causali e movimenti inconsistenti");
apertura = causali.get(CAU_MOVAP) == "A";
} }
else apertura = FALSE;
provvis = mov.get(MOV_PROVVIS).not_empty();
datareg = mov.get_date(MOV_DATAREG);
} }
const char sezione = rmov.get(RMV_SEZIONE)[0]; const char sezione = rmov.get(RMV_SEZIONE)[0];
real importo(rmov.get(RMV_IMPORTO)); real importo(rmov.get(RMV_IMPORTO));
sal.set_movap(causali.get(CAU_MOVAP) == "A");
sal.set_movprovv(mov.get(MOV_PROVVIS).not_empty());
sal.set_data_ulmov(mov.get_date(MOV_DATAREG));
sal.set_num_ulmov(numreg);
sal.aggiorna(gruppo, conto, sottoconto, importo, sezione); sal.aggiorna(gruppo, conto, sottoconto, importo, sezione);
if (sal.items() > MAX_CNT)
{
sal.registra();
sal.reset();
sal.set_anno_es(atoi(_year));
}
} }
rmov.next(); rmov.next();
prnd.addstatus(1); prnd.addstatus(1);
do_events(); do_events();
} }
sal.set_anno_es(atoi(_year));
sal.set_movap(apertura);
sal.set_movprovv(provvis);
sal.set_data_ulmov(datareg);
sal.set_num_ulmov(oldnumreg);
if (sal.items() > 0) if (sal.items() > 0)
sal.registra(); sal.registra();
remove("__sal__.sav"); remove("__sal__.sav");