Patch level : 10.0 274

Files correlati     :  mg1.exe
Ricompilazione Demo : [ ]
Commento            :

Bug : 0001237

Ricostruzione saldi- non vengono azzerati i campi utiizzati dalle lavenderie


git-svn-id: svn://10.65.10.50/trunk@18620 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-03-27 00:11:07 +00:00
parent 9b7822e164
commit e5c46ac873

View File

@ -885,37 +885,43 @@ bool reset_clifogiac(const TRelation& rel, void* pJolly)
oldrec.put(CLIFOGIAC_ANNOES, p.codesprec);
if (oldrec.read(rel.lfile()) == NOERR)
{
const real acq = rec.get_real(MAG_ACQ) + rec.get_real(MAG_RIM);
const real valacq = rec.get_real(MAG_VALACQ) + rec.get_real(MAG_VALRIM);
const real acq = oldrec.get_real(CLIFOGIAC_ACQ) + oldrec.get_real(CLIFOGIAC_RIM);
const real valacq = oldrec.get_real(CLIFOGIAC_VALACQ) + oldrec.get_real(CLIFOGIAC_VALRIM);
real val = acq.is_zero() ? ZERO : valacq / acq;
const TPrice p(val);
real rim;
rim += rec.get_real(MAG_GIAC);
rim += rec.get_real(MAG_PRODFIN);
rim -= rec.get_real(MAG_PRODCOMP);
rim += rec.get_real(MAG_ACL);
rim -= rec.get_real(MAG_INCL);
rim += oldrec.get_real(CLIFOGIAC_GIAC);
rim += oldrec.get_real(CLIFOGIAC_PRODFIN);
rim -= oldrec.get_real(CLIFOGIAC_PRODCOMP);
rim += oldrec.get_real(CLIFOGIAC_ACL);
rim -= oldrec.get_real(CLIFOGIAC_INCL);
const real valrim = p.get_num() * rim;
const TCurrency c(valrim); // Arrontonda alla valuta
rec.put(MAG_RIM, rim); rec.put(MAG_VALRIM, c.get_num());
rec.zero(MAG_ACQ); rec.zero(MAG_VALACQ);
rec.zero(MAG_ENT); rec.zero(MAG_VALENT);
rec.zero(MAG_VEN); rec.zero(MAG_VALVEN);
rec.zero(MAG_USC); rec.zero(MAG_VALUSC);
rec.zero(MAG_SCARTI);
rec.put(CLIFOGIAC_RIM, rim); rec.put(CLIFOGIAC_VALRIM, c.get_num());
rec.zero(CLIFOGIAC_ACQ); rec.zero(CLIFOGIAC_VALACQ);
rec.zero(CLIFOGIAC_ENT); rec.zero(CLIFOGIAC_VALENT);
rec.zero(CLIFOGIAC_VEN); rec.zero(CLIFOGIAC_VALVEN);
rec.zero(CLIFOGIAC_USC); rec.zero(CLIFOGIAC_VALUSC);
rec.zero(CLIFOGIAC_SCARTI);
if (!riporta_ordinato())
{
rec.zero(MAG_ORDF); rec.zero(MAG_VALORDF);
rec.zero(MAG_ORDC); rec.zero(MAG_VALORDC);
rec.zero(CLIFOGIAC_ORDF); rec.zero(CLIFOGIAC_VALORDF);
rec.zero(CLIFOGIAC_ORDC); rec.zero(CLIFOGIAC_VALORDC);
}
rec.put(CLIFOGIAC_DOTOD, oldrec.get(CLIFOGIAC_DOTOD));
rec.put(CLIFOGIAC_DOTIN, oldrec.get(CLIFOGIAC_DOTIN));
rec.put(CLIFOGIAC_DOTTM, oldrec.get(CLIFOGIAC_DOTTM));
}
else
{
for (int i = 0; zero_fields[i]; i++)
rec.zero(zero_fields[i]);
rec.zero(CLIFOGIAC_DOTIN);
rec.zero(CLIFOGIAC_DOTOD);
rec.zero(CLIFOGIAC_DOTTM);
}
return rec.rewrite(rel.lfile()) == NOERR;
}