Patch level : 2.1 nopatch

Files correlati     : ce1.exe ce2.exe
Ricompilazione Demo : [ ]
Commento            :

Corretta funzione amminit_get_real,
che inspiegabilmente chiamava se stessa, blocando tutto.


git-svn-id: svn://10.65.10.50/trunk@12277 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2004-08-05 07:50:40 +00:00
parent 5d36a7772d
commit 2b05ed353a
2 changed files with 17 additions and 17 deletions

View File

@ -426,18 +426,18 @@ void TScelta_amm_cat::init_mask(TMask& m)
const TRectype& cac = dc.categoria(gru, spe, cat); const TRectype& cac = dc.categoria(gru, spe, cat);
switch (_tipo) switch (_tipo)
{ {
case 1: case 1: // Immateriali
m.set(F_TIPOAMM, cac.get("I1")); m.set(F_TIPOAMM, cac.get("I1"));
m.set(F_MAX_AMM, cac.get("R13")); m.set(F_MAX_AMM, cac.get("R13"));
m.set(F_ANNI, cac.get("I3")); m.set(F_ANNI, cac.get("I3"));
break; break;
case 2: case 2: // Pluriennali
m.set(F_TIPOVINC, cac.get("I2")); m.set(F_TIPOVINC, cac.get("I2"));
m.set(F_MIN_AMM, cac.get("R14")); m.set(F_MIN_AMM, cac.get("R14"));
m.set(F_MAX_AMM, cac.get("R15")); m.set(F_MAX_AMM, cac.get("R15"));
m.set(F_ANNI, cac.get("I3")); m.set(F_ANNI, cac.get("I3"));
break; break;
default: default: // Materiali
{ {
const real r11 = cac.get_real("R11"); const real r11 = cac.get_real("R11");
const real r12 = cac.get_real("R12"); const real r12 = cac.get_real("R12");

View File

@ -24,7 +24,7 @@
HIDDEN void log(const char* fmt, ...) HIDDEN void log(const char* fmt, ...)
{ {
#ifdef DBG /* #ifdef DBG
char msg[256]; char msg[256];
va_list argptr; va_list argptr;
va_start(argptr,fmt); va_start(argptr,fmt);
@ -36,7 +36,7 @@ HIDDEN void log(const char* fmt, ...)
fprintf(f, "%s\n", msg); fprintf(f, "%s\n", msg);
fclose(f); fclose(f);
} }
#endif #endif */
} }
@ -998,15 +998,15 @@ TString& TCespite::ammini_get(const char* pstar) const
return _val; return _val;
} }
bool TCespite::ammini_get_bool(const char* pstar) const bool TCespite::ammini_get_bool(const char* pfield) const
{ {
const TString& val = ammini_get(pstar); const TString& val = ammini_get(pfield);
return !val.blank(); return !val.blank();
} }
real TCespite::ammini_get_real(const char* pstar) const real TCespite::ammini_get_real(const char* pfield) const
{ {
const real val = ammini_get_real(pstar); const real val = ammini_get(pfield);
return val; return val;
} }
@ -1502,7 +1502,7 @@ void TCespite::calc_amm_residui(bool is_valid)
const bool leasing = get_bool(CESPI_LEASING); const bool leasing = get_bool(CESPI_LEASING);
const int anniric = get_int(CESPI_ANNIRIC); const int anniric = get_int(CESPI_ANNIRIC);
if ((tc == tc_materiale && !leasing) || (tc == tc_immateriale && anniric == 0) || is_forz) if ((tc == tc_materiale && !leasing) || (tc == tc_immateriale && anniric <= 0) || is_forz)
{ {
const real coeff_durata = cce.coefficiente_durata_esercizio(); const real coeff_durata = cce.coefficiente_durata_esercizio();
if (fzquo) // Forzatura quota if (fzquo) // Forzatura quota
@ -1514,7 +1514,7 @@ void TCespite::calc_amm_residui(bool is_valid)
if (resamm < qnor) if (resamm < qnor)
_ammpro.put(AMMCE_QNOR, qnor = resamm); // Forzo la quota uguale al residuo _ammpro.put(AMMCE_QNOR, qnor = resamm); // Forzo la quota uguale al residuo
const real pnor = qnor / coeff_durata * 100.0 / val_amm(); const real pnor = qnor / coeff_durata * CENTO / val_amm();
ammpro_put_perc(AMMCE_PNOR, pnor); ammpro_put_perc(AMMCE_PNOR, pnor);
resamm -= qnor; resamm -= qnor;
@ -1523,7 +1523,7 @@ void TCespite::calc_amm_residui(bool is_valid)
real qacc = _ammpro.get_real(AMMCE_QACC); real qacc = _ammpro.get_real(AMMCE_QACC);
if (resamm < qacc) if (resamm < qacc)
_ammpro.put(AMMCE_QACC, qacc = resamm); // Forzo la quota uguale al residuo _ammpro.put(AMMCE_QACC, qacc = resamm); // Forzo la quota uguale al residuo
const real pacc = qacc / coeff_durata * 100.0 / val_amm(); const real pacc = qacc / coeff_durata * CENTO / val_amm();
ammpro_put_perc(AMMCE_PACC, pacc); ammpro_put_perc(AMMCE_PACC, pacc);
resamm -= qacc; resamm -= qacc;
} }
@ -1536,7 +1536,7 @@ void TCespite::calc_amm_residui(bool is_valid)
real qant = _ammpro.get_real(AMMCE_QANT); real qant = _ammpro.get_real(AMMCE_QANT);
if (resamm < qant) if (resamm < qant)
_ammpro.put(AMMCE_QANT, qant = resamm); // Forzo la quota uguale al residuo _ammpro.put(AMMCE_QANT, qant = resamm); // Forzo la quota uguale al residuo
const real pant = qant / coeff_durata * 100.0 / val_amm(); const real pant = qant / coeff_durata * CENTO / val_amm();
ammpro_put_perc(AMMCE_PANT, pant); ammpro_put_perc(AMMCE_PANT, pant);
resamm -= qant; resamm -= qant;
} }
@ -1737,12 +1737,12 @@ void TCespite::calc_amm_residui(bool is_valid)
if (anniric > 0) if (anniric > 0)
qnor = val_amm() / anniric; qnor = val_amm() / anniric;
else else
qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / 100.0; qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / CENTO;
} else } else
if (tc == tc_pluriennale && vincolo == 2 && ammini_get_real(AMMCE_PNOR) > ZERO) if (tc == tc_pluriennale && vincolo == 2 && ammini_get_real(AMMCE_PNOR) > ZERO)
{ {
if (anniric > anniamm) if (anniric > anniamm)
qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / 100.0; qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / CENTO;
} }
if (resamm < qnor) if (resamm < qnor)
@ -1753,7 +1753,7 @@ void TCespite::calc_amm_residui(bool is_valid)
const real valore = val_amm(); const real valore = val_amm();
if (qnor > ZERO && valore > ZERO) if (qnor > ZERO && valore > ZERO)
{ {
const real pnor = qnor * 100.0 / valore; const real pnor = qnor * CENTO / valore;
ammpro_put_perc(AMMCE_PNOR, pnor); ammpro_put_perc(AMMCE_PNOR, pnor);
} }
else else
@ -1825,7 +1825,7 @@ bool TCespite::calc_amm(int tipo_sit, const TDate& data_limite, bool recalc_spe_
log(FR("* Inizio calcolo situazione %d cespite %s"), tipo_sit, (const char*)idcespite); log(FR("* Inizio calcolo situazione %d cespite %s"), tipo_sit, (const char*)idcespite);
#ifdef DBG #ifdef DBG
if (tipo_sit == 1 && atol(idcespite) == 83L) if (tipo_sit == 1 && atol(idcespite) == 1080L)
{ {
tipo_sit = 1; // Put your breakpoint here tipo_sit = 1; // Put your breakpoint here
} }