Patch level : 12.0 402
Files correlati : tf Commento : - Eliminata gestione crediti precedenti, alla fine bisogna mettere tutto in credito periodo precedente. - Sistemata creazione data_a, adesso prima viene generata con giorno = 1 poi spostata con set_end_month() - Tolto controllo tipo movimento != tm_nessuno per due motivi: 1) è valorizzato solo se si ha il saldaconto, 2) le righe movimento iva sono tutte da prendere - Tolta somma degli indeducibili, vengono già presi da RMOVIVA git-svn-id: svn://10.65.10.50/branches/R_10_00@23845 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
72a1e78036
commit
0a1ba17eb9
@ -166,8 +166,7 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
|
||||
{
|
||||
// Credito anno precedente
|
||||
/* Per calcolare il credito dell'anno precedente inizio a leggere i record precedenti su IVALIQ
|
||||
* fino a quando ne trovo uno >= 0.
|
||||
* Questi geni hanno messo la possibilità di mettere un valore <0 se voglio utilizzare del credito precedente */
|
||||
* fino a quando ne trovo uno >= 0. */
|
||||
|
||||
TRectype rowLia = getLIA(anno);
|
||||
if(mensile || (!mensile && ((mese - 1) % 3) == 0))
|
||||
@ -185,29 +184,8 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
|
||||
if(rowLiq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso?
|
||||
|
||||
trovato = trovato || rowLiq.get_real("CREAPREC") > ZERO;
|
||||
creprec = rowLiq.get_real("IVAVERC");
|
||||
|
||||
// Non ho iva da versare, quindi ho dei crediti
|
||||
if(rowLiq.get_real("IVAVER") == ZERO)
|
||||
{
|
||||
// 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 non ho trovato nessun valore positivo (i negativi senza nessun positivo prima non sono validi)
|
||||
* vado a leggere la liquidazione di quest'anno */
|
||||
@ -437,7 +415,7 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
||||
for(; start <= end; start++)
|
||||
{
|
||||
TDate data_da(1, start, anno);
|
||||
TDate data_a(31, start, anno);
|
||||
TDate data_a(1, start, anno); data_a.set_end_month();
|
||||
bool hasIXC = gestione_IVAxCassa(data_da);
|
||||
|
||||
/****************************************************************************************************************
|
||||
@ -496,9 +474,10 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
||||
|
||||
for(bool ok = curIva.move_first(); ok; ok = curIva.move_next())
|
||||
{
|
||||
TString totat, totpas, i;
|
||||
// Controllo che sia un movimento con codice non "non soggetto"
|
||||
TCodiceIVA codiva(curIva.get("25.CODIVA").as_string());
|
||||
if(codiva.tipo() == "NS" || curIva.get("23.TIPOMOV").as_int() == tm_nessuno) continue;
|
||||
if(codiva.tipo() == "NS") continue;
|
||||
|
||||
// Prendo il tipo di registro
|
||||
int tiporeg = TRegistro(curIva.get("23.REG").as_string()).tipo();
|
||||
@ -528,32 +507,19 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
||||
}
|
||||
}
|
||||
|
||||
// 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);
|
||||
TCursor curPom(&rpom, "", 1, &pomFrom, &pomTo);
|
||||
for(curPom = 0; curPom.pos() < curPom.items(); ++curPom)
|
||||
{
|
||||
TRectype rowPom = curPom.curr();
|
||||
if(atoi(rowPom.get("CODTAB").right(2)) != start) continue;
|
||||
totoppas = totoppas + rowPom.get_real("R1"); // Art. 19
|
||||
totoppas = totoppas + rowPom.get_real("R9"); // Ricavi esenti
|
||||
}
|
||||
|
||||
// Se ha attiva l'IVA x cassa calcolo le imposte (imponibili per comodità già calcolati sopra)
|
||||
if(hasIXC)
|
||||
{
|
||||
// IVA esigibile
|
||||
real imponibile_diff, imposta_diff, imponibile_xcas, imposta_xcas;
|
||||
imponibile_diff = imposta_diff = imponibile_xcas = imposta_xcas = ZERO;
|
||||
real imposta_diff, imposta_xcas;
|
||||
imposta_diff = imposta_xcas = ZERO;
|
||||
// 1 = Vendite
|
||||
calc_inc_diff(anno, start, REG_ATT, imposta_diff, imposta_xcas);
|
||||
ivaesxc = ivaesxc + imposta_xcas;
|
||||
ivaesdiff = ivaesdiff + imposta_diff;
|
||||
|
||||
// IVA detraibile
|
||||
imponibile_diff = imposta_diff = imponibile_xcas = imposta_xcas = ZERO;
|
||||
imposta_diff = imposta_xcas = ZERO;
|
||||
// 2 = Acquisti
|
||||
calc_inc_diff(anno, start, REG_PAS, imposta_diff, imposta_xcas);
|
||||
ivadetxc = ivadetxc + imposta_xcas;
|
||||
|
Loading…
x
Reference in New Issue
Block a user