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:
parent
9b7822e164
commit
e5c46ac873
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user