Patch level : 12.0
Files correlati : Commento: continuare modifica cespiti
This commit is contained in:
parent
f66904be8a
commit
554c93fc23
@ -1027,7 +1027,6 @@ HIDDEN const TString& catdi_get(const TRectype* pcatdi, const char* name, int si
|
||||
const TString& TCespite::ammini_get(const char* pstar) const
|
||||
{
|
||||
TString16 val = _ammini.get(pstar);
|
||||
|
||||
TToken_string special = "AMMRIT|CSCEN|PNOR|PACC|PANT";
|
||||
const int fld = special.get_pos(pstar);
|
||||
if (fld >= 0) // Should ALWAYS happen: tuttavia non è affatto grave!
|
||||
@ -1035,7 +1034,7 @@ const TString& TCespite::ammini_get(const char* pstar) const
|
||||
const TDitta_cespiti& dc = ditta_cespiti();
|
||||
const TRectype* pcatdi = NULL;
|
||||
const TRectype* pcac = NULL;
|
||||
const bool sospamm = _sosp_covid && dc.esercizio_corrente() >= 2020;
|
||||
const bool sospamm = _sosp_covid && dc.esercizio_corrente() >= 2020 && _tipo_sit != 3;
|
||||
|
||||
// L'utente fa le sue scelte: ma saranno sensate e coerenti?
|
||||
int scelte = _ammini.get_int(AMMCE_SCELTE);
|
||||
@ -1048,8 +1047,8 @@ const TString& TCespite::ammini_get(const char* pstar) const
|
||||
TString80 key; key.format("%d|%d|%s|%d", anno, gruppo, (const char*)specie, categ);
|
||||
const TRectype& catdi = cache().get(LF_CATDI, key);
|
||||
|
||||
if (get_int(CESPI_IDCESPITE) == 452 && _tipo_sit != 3)
|
||||
int i = 1;
|
||||
// if (get_long(CESPI_IDCESPITE) == 452 && _tipo_sit != 3)
|
||||
// int i = 1;
|
||||
|
||||
if (!catdi.empty())
|
||||
{
|
||||
@ -1101,8 +1100,7 @@ const TString& TCespite::ammini_get(const char* pstar) const
|
||||
}
|
||||
break;
|
||||
case tc_immateriale:
|
||||
// if (scelte == 2 || (_tipo_sit != 1 && sospamm))
|
||||
if (sospamm && _tipo_sit == 1)
|
||||
if (sospamm)
|
||||
val = "0.00";
|
||||
else
|
||||
{
|
||||
@ -1114,13 +1112,15 @@ const TString& TCespite::ammini_get(const char* pstar) const
|
||||
break;
|
||||
|
||||
case tc_pluriennale:
|
||||
// if (scelte == 2 || (_tipo_sit != 1 && sospamm))
|
||||
if (sospamm && _tipo_sit == 1)
|
||||
if (sospamm)
|
||||
val = "0.00";
|
||||
if (scelte == 2)
|
||||
val = catdi_get(pcatdi, CATDI_PFNORVN, _tipo_sit);
|
||||
else
|
||||
val = pcac->get("R15");
|
||||
else
|
||||
{
|
||||
if (scelte == 2)
|
||||
val = catdi_get(pcatdi, CATDI_PFNORVN, _tipo_sit);
|
||||
else
|
||||
val = pcac->get("R15");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -1954,29 +1954,34 @@ void TCespite::calc_amm_residui(bool is_valid)
|
||||
{
|
||||
const int anniamm = _salini.get_int(SALCE_ANNIAMM);
|
||||
const int vincolo = get_int(CESPI_VINCOLO);
|
||||
const TDitta_cespiti& dc = ditta_cespiti();
|
||||
const bool sospamm = _sosp_covid && dc.esercizio_corrente() >= 2020 && _tipo_sit != 3;
|
||||
|
||||
real qnor; // Valore non calcolato
|
||||
if ((tc == tc_pluriennale && vincolo == 2 && ammini_get_real(AMMCE_PNOR).is_zero()) ||
|
||||
(tc == tc_immateriale && anniric > 0) || (tc == tc_materiale && anniric > 0))
|
||||
{
|
||||
if (anniric > anniamm)
|
||||
if (anniric > anniamm && !sospamm)
|
||||
qnor = resamm / (anniric - anniamm);
|
||||
} else
|
||||
if (tc == tc_pluriennale && vincolo == 3)
|
||||
{
|
||||
if (anniric > anniamm)
|
||||
if (anniric > anniamm && !sospamm)
|
||||
qnor = val_amm() / anniric;
|
||||
} else
|
||||
if (tc == tc_pluriennale && vincolo == 1)
|
||||
{
|
||||
if (anniric > 0)
|
||||
qnor = val_amm() / anniric;
|
||||
else
|
||||
qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / CENTO;
|
||||
if (!sospamm)
|
||||
{
|
||||
if (anniric > 0)
|
||||
qnor = val_amm() / anniric;
|
||||
else
|
||||
qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / CENTO;
|
||||
}
|
||||
} else
|
||||
if (tc == tc_pluriennale && vincolo == 2 && ammini_get_real(AMMCE_PNOR) > ZERO)
|
||||
{
|
||||
if (anniric > anniamm)
|
||||
if (anniric > anniamm && !sospamm)
|
||||
qnor = val_amm() * ammini_get_real(AMMCE_PNOR) / CENTO;
|
||||
}
|
||||
|
||||
@ -2090,8 +2095,8 @@ bool TCespite::calc_amm(int tipo_sit, const TDate& data_limite,
|
||||
|
||||
|
||||
#ifdef DBG
|
||||
if (tipo_sit == 1 && atol(idcespite) == 1362)
|
||||
tipo_sit = 1; // Put your breakpoint here
|
||||
if (atol(idcespite) == 441)
|
||||
int i = 1; // Put your breakpoint here
|
||||
#endif
|
||||
|
||||
const bool is_valid = valido();
|
||||
|
Loading…
x
Reference in New Issue
Block a user