Patch level : 12.0 398

Files correlati     : 
Commento            : 
- Modificato nuovamente il calcolo del periodo precedente. Adesso dovrebbe essere definitivo.
- Sistemati i non soggetti, non vengono sottratti con i totali <= 0
- Aggiunti nel calcolo gli indeducibili per Ricavi esenti


git-svn-id: svn://10.65.10.50/branches/R_10_00@23818 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-05-16 15:10:22 +00:00
parent 4ef20380b0
commit e67b111a1f

View File

@ -182,25 +182,31 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
{
TRectype rowLiq = curLiq.curr();
if(rowLiq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso?
if(rowLiq.get_real("IVAVER") == ZERO)
trovato = trovato || rowLiq.get_real("CREAPREC") > ZERO;
// Non ho iva da versare, quindi ho dei crediti
if(rowLiq.get_real("IVAVER") == ZERO)
{
creprec = rowLiq.get_real("IVAVERC");
// Possono esserci valori negativi, nel caso vanno sommati altrimenti sostituisco
if(rowLiq.get_real("CREAPREC") < ZERO)
creaprec += rowLiq.get_real("CREAPREC");
else
creaprec = rowLiq.get_real("CREAPREC");
// Innanzitutto controllo il consumo del credito dell'anno precedente
real debito = rowLiq.get_real("IVADOV") + rowLiq.get_real("DEBPREC") + rowLiq.get_real("INTLIQTRI");
if(rowLiq.get_real("CREAPREC") >= ZERO)
creaprec = rowLiq.get_real("CREAPREC") - debito;
else // Sto utilizzando del credito dell'anno precedente!
creaprec += rowLiq.get_real("CREAPREC") - debito;
// Se ho esaurito il credito dell'anno precedente consumo anche il credito precedente
if(creaprec < ZERO)
creaprec = ZERO;
// Sottraggo dal credito totale quello dell'anno precedente per calcolare il rimanente
creprec = rowLiq.get_real("IVAVERC") - creaprec;
}
else
{
creprec = ZERO;
creaprec = ZERO;
}
// Se il credito precedente è almeno una volta positivo flaggo trovato
if(rowLiq.get_real("CREAPREC") > ZERO)
trovato = true;
}
/* Se non ho trovato nessun valore positivo (i negativi senza nessun positivo prima non sono validi)
* vado a leggere la liquidazione di quest'anno */
@ -493,17 +499,18 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
*/
// Verifico che sia Non soggetto
bool nonSogg = rowPrm.get("S5") == "NS";
if(nonSogg && tiporeg == reg_pas)
if(nonSogg && tiporeg == reg_pas && totoppas > ZERO)
{
totoppas = totoppas - rowPrm.get_real("R0");
}
else if (nonSogg && tiporeg == reg_att)
else if (nonSogg && tiporeg == reg_att && totopatt > ZERO)
{
totopatt = totopatt - rowPrm.get_real("R0");
}
}
// Aggiungo gli indeducibili per articolo 19
// Aggiungo gli indeducibili per articolo 19, e indeducibili su ricavi esenti
static TRelation rpom(LF_TAB);
TRectype pomFrom(rpom.curr()); pomFrom.put("COD", "POM");pomFrom.put("CODTAB", anno);
TRectype pomTo(rpom.curr()); pomTo.put("COD" , "POM");pomTo.put("CODTAB", anno);
@ -512,7 +519,8 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
{
TRectype rowPom = curPom.curr();
if(atoi(rowPom.get("CODTAB").right(2)) != start) continue;
totoppas = totoppas + rowPom.get_real("R1");
totoppas = totoppas + rowPom.get_real("R1"); // Art. 19
totoppas = totoppas + rowPom.get_real("R9"); // Ricavi esenti
}
// Se ha attiva l'IVA x cassa