Patch level : 12.0 396
Files correlati : Commento : - Sistemati totali con aggiunta indeducibili e non soggetti. - Unificato il codice con la 11 aggiungendo il controllo sulla versione nell'unico if diverso. git-svn-id: svn://10.65.10.50/branches/R_10_00@23813 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
24833ba311
commit
ba64cf6b81
@ -7,6 +7,7 @@
|
|||||||
#include <rmoviva.h>
|
#include <rmoviva.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <execp.h> // TExternal_app
|
#include <execp.h> // TExternal_app
|
||||||
|
#include <dongle.h> // dongle()
|
||||||
|
|
||||||
#include "cglib03.h"
|
#include "cglib03.h"
|
||||||
|
|
||||||
@ -184,7 +185,7 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
|
|||||||
|
|
||||||
if(rowLiq.get_real("IVAVER") == ZERO)
|
if(rowLiq.get_real("IVAVER") == ZERO)
|
||||||
{
|
{
|
||||||
creprec = rowLiq.get_real("CREPREC") + rowLiq.get_real("IVADOVC");
|
creprec = rowLiq.get_real("IVAVERC");
|
||||||
// Possono esserci valori negativi, nel caso vanno sommati altrimenti sostituisco
|
// Possono esserci valori negativi, nel caso vanno sommati altrimenti sostituisco
|
||||||
if(rowLiq.get_real("CREAPREC") < ZERO)
|
if(rowLiq.get_real("CREAPREC") < ZERO)
|
||||||
creaprec += rowLiq.get_real("CREAPREC");
|
creaprec += rowLiq.get_real("CREAPREC");
|
||||||
@ -443,8 +444,8 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
// Riga LIM
|
// Riga LIM
|
||||||
const TRectype rowLim = getLIM(anno, start);
|
const TRectype rowLim = getLIM(anno, start);
|
||||||
|
|
||||||
// Controllo che la liquidazione è stata effettuata
|
// Controllo che la liquidazione è stata effettuata, controllo da fare solo nella 12
|
||||||
if(rowLim.empty() || rowLim.get_bool("B0"))
|
if(dongle().year_assist() > 2121 && (rowLim.empty() || rowLim.get_bool("B0")))
|
||||||
{
|
{
|
||||||
error_box("Attenzione non è stata calcolata la liquidazione del periodo corrente");
|
error_box("Attenzione non è stata calcolata la liquidazione del periodo corrente");
|
||||||
return;
|
return;
|
||||||
@ -456,9 +457,9 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
/* Sembra che in PAM ci sia già tutto quello che mi serve!
|
/* Sembra che in PAM ci sia già tutto quello che mi serve!
|
||||||
* Chiave PAM: ANNO + COD_ATTIVITA' + MESE */
|
* Chiave PAM: ANNO + COD_ATTIVITA' + MESE */
|
||||||
static TRelation rpam(LF_TAB);
|
static TRelation rpam(LF_TAB);
|
||||||
TRectype from(rpam.curr()); from.put("COD", "PAM");from.put("CODTAB", anno);
|
TRectype pamFrom(rpam.curr()); pamFrom.put("COD", "PAM");pamFrom.put("CODTAB", anno);
|
||||||
TRectype to(rpam.curr()); to.put("COD" , "PAM");to.put("CODTAB", anno);
|
TRectype pamTo(rpam.curr()); pamTo.put("COD" , "PAM");pamTo.put("CODTAB", anno);
|
||||||
TCursor curPam(&rpam, "", 1, &from, &to);
|
TCursor curPam(&rpam, "", 1, &pamFrom, &pamTo);
|
||||||
for(curPam = 0; curPam.pos() < curPam.items(); ++curPam)
|
for(curPam = 0; curPam.pos() < curPam.items(); ++curPam)
|
||||||
{
|
{
|
||||||
TRectype rowPam = curPam.curr();
|
TRectype rowPam = curPam.curr();
|
||||||
@ -467,6 +468,53 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
totoppas = totoppas + rowPam.get_real("R0");
|
totoppas = totoppas + rowPam.get_real("R0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Devo sottrarre gli indetraibili, quindi prendo prm e sottraggo
|
||||||
|
static TRelation rprm(LF_TAB);
|
||||||
|
TRectype prmFrom(rprm.curr()); prmFrom.put("COD", "PRM");prmFrom.put("CODTAB", anno);
|
||||||
|
TRectype prmTo(rprm.curr()); prmTo.put("COD" , "PRM");prmTo.put("CODTAB", anno);
|
||||||
|
|
||||||
|
TCursor curPrm(&rprm, "", 1, &prmFrom, &prmTo);
|
||||||
|
for(curPrm = 0; curPrm.pos() < curPrm.items(); ++curPrm)
|
||||||
|
{
|
||||||
|
TRectype rowPrm = curPrm.curr();
|
||||||
|
// Controllo il mese
|
||||||
|
TString codtab = rowPrm.get("CODTAB");
|
||||||
|
if(atoi(rowPrm.get("CODTAB").sub(13,15)) != start) continue;
|
||||||
|
|
||||||
|
// Verifico su che registro mi trovo
|
||||||
|
int tiporeg = rowPrm.get_int("I1");
|
||||||
|
/*
|
||||||
|
bool detraibile = atoi(rowPrm.get("CODTAB").mid(20,1)) == 0; // Se > è indetraibile
|
||||||
|
// Tutti i non detraibili sono passivi ma un controllo in più non fa mai male
|
||||||
|
if(!detraibile && tiporeg == reg_pas)
|
||||||
|
{
|
||||||
|
totoppas = totoppas + rowPrm.get_real("R0");
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// Verifico che sia Non soggetto
|
||||||
|
bool nonSogg = rowPrm.get("S5") == "NS";
|
||||||
|
if(nonSogg && tiporeg == reg_pas)
|
||||||
|
{
|
||||||
|
totoppas = totoppas - rowPrm.get_real("R0");
|
||||||
|
}
|
||||||
|
else if (nonSogg && tiporeg == reg_att)
|
||||||
|
{
|
||||||
|
totopatt = totopatt - rowPrm.get_real("R0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiungo gli indeducibili per articolo 19
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
|
||||||
// Se ha attiva l'IVA x cassa
|
// Se ha attiva l'IVA x cassa
|
||||||
if(gestione_IVAxCassa(data_da))
|
if(gestione_IVAxCassa(data_da))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user