From c5c0da5b4c1f2d8227bd9f8d1e523f424196ba24 Mon Sep 17 00:00:00 2001 From: mtollari Date: Thu, 1 Jun 2017 12:20:07 +0000 Subject: [PATCH] Patch level : 12.0 406 Files correlati : tf Commento : Sistemato calcolo dei corrispettivi. Adesso per le registrazioni senza scorporo (esempio scontrini) viene scorporata l'imposta. git-svn-id: svn://10.65.10.50/branches/R_10_00@23861 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/tf/tf0200.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/tf/tf0200.cpp b/src/tf/tf0200.cpp index f94754e53..ff9baee34 100644 --- a/src/tf/tf0200.cpp +++ b/src/tf/tf0200.cpp @@ -452,9 +452,12 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO if(codiva.tipo() == "NS") continue; // Prendo il tipo di registro - int tiporeg = TRegistro(curIva.get("23.REG").as_string()).tipo(); + TRegistro reg(curIva.get("23.REG").as_string()); + int tiporeg = reg.tipo(); + bool isCorrispettivo = reg.corrispettivi(); // Prendiamo l'imponibile real imp = curIva.get("25.IMPONIBILE").as_real(); + real imposta = curIva.get("25.IMPOSTA").as_real(); // Se è un movimento IvaXCassa o LiqDiff if(hasIXC && (curIva.get("23.IVAXCASSA").as_bool() || curIva.get("23.LIQDIFF").as_bool())) @@ -472,12 +475,24 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO // Se non ha una riga di movimento non lo sommo TString keyRC = curIva.get("23.NUMREG").as_string(); keyRC << "|1"; if(!cache().get(LF_RMOV, keyRC).empty()) + { + // Controllo se è un corrispettivo non scorporato (imponibile e iva assieme) + if(isCorrispettivo && codiva.percentuale() > ZERO && imposta == ZERO) + { + // Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla + // Es iva 22% => imp : 122 = x : 100 + imp = imp * CENTO / (CENTO + codiva.percentuale()); + } totopatt += imp; + } } else totoppas += imp; } } + + // Sommiamo i corrispettivi al registro delle vendite + // Se ha attiva l'IVA x cassa calcolo le imposte (imponibili per comodità già calcolati sopra) if(hasIXC)