Patch level : 10.0 290
Files correlati : Commento : Quadro VE git-svn-id: svn://10.65.10.50/branches/R_10_00@23356 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d04b37345c
commit
98250c29aa
@ -241,7 +241,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
||||
TString buf(127);
|
||||
buf.format( _printonly ? FR("Stampa liquidazione %s %d...\n%s:\n%s\n") :
|
||||
FR("Calcolo liquidazione %s %d...\n%s:\n%s\n"),
|
||||
itom(month), atoi(_year), (const char*)_nditte_r->get(NDT_RAGSOC), (const char*)desatt);
|
||||
month == 13 ? "13a" : itom(month), atoi(_year), (const char*)_nditte_r->get(NDT_RAGSOC), (const char*)desatt);
|
||||
_prind->set_text(buf);
|
||||
}
|
||||
|
||||
@ -1114,7 +1114,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
TString pimsg;
|
||||
pimsg << TR("Ricalcolo attività ") << trueatt << " (";
|
||||
if (month > 12)
|
||||
pimsg << "13ma ";
|
||||
pimsg << "13a ";
|
||||
else
|
||||
pimsg << TR("mese ") << itom(month);
|
||||
pimsg << ' ' << year_int << ')';
|
||||
@ -1141,13 +1141,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
if (tipodoc == "NC")
|
||||
tm = tm_nota_credito;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
if (_mov->get_long(MOV_NUMREG) == 23353)
|
||||
int cazzone = 1;
|
||||
#endif
|
||||
|
||||
if (_isviaggio)
|
||||
if (_isviaggio)
|
||||
{
|
||||
if (tipomov == vendita && _mov->get_date(MOV_DATA74TER).ok())
|
||||
date = _mov->get_date(MOV_DATA74TER);
|
||||
@ -1408,7 +1402,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
{
|
||||
CHECKS(codiva == _iva->get("CODTAB"), "Codice IVA simile ", (const char*)codiva);
|
||||
}
|
||||
|
||||
#ifndef DEBUG
|
||||
if (codiva == "E7")
|
||||
int cazzone = 1;
|
||||
#endif
|
||||
const TString4 tipoiva = _iva->get("S1");
|
||||
const TString4 tipoes_v = _iva->get("S2");
|
||||
const TString4 tipoes_a = _iva->get("S9");
|
||||
|
@ -248,7 +248,6 @@ void TQuadro_IVA_app::print()
|
||||
|
||||
if (fld != NULL)
|
||||
fld->set(year);
|
||||
// set->set_var("#ANNO", year, true);
|
||||
set->set_var("#CODDITTA", ditta);
|
||||
book.add(rep);
|
||||
}
|
||||
|
@ -107,15 +107,16 @@ void TQuadro_VE_recordset::load(const long year)
|
||||
|
||||
if (vendite && tipo != liquidazione && month == 13)
|
||||
{
|
||||
const TString8 codiva(codtab.mid(16,4));
|
||||
const TRectype& pimr = cache().get("PIM", codtab);
|
||||
TString8 codiva(codtab.mid(16,4)); codiva.trim();
|
||||
const TRectype & ivar = cache().get("%IVA", codiva);
|
||||
const TString8 aliquota = ivar.get("R0");
|
||||
|
||||
tiporec tipo;
|
||||
real imp;
|
||||
real iva;
|
||||
|
||||
if (classify_pim(pim, imp, iva, tipo, true))
|
||||
|
||||
if (classify_pim(pimr, imp, iva, tipo, true))
|
||||
{
|
||||
good = true;
|
||||
switch (tipo)
|
||||
@ -187,20 +188,25 @@ void TQuadro_VE_recordset::load(const long year)
|
||||
break;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
const real imp = pimr.get_real("R0");
|
||||
const real iva = pimr.get_real("R1");
|
||||
const TString4 tipo_aliquota = ivar.get("S1");
|
||||
const TString4 tipo_iva11_ven = ivar.get("S2");
|
||||
const int int_tipo_iva11_ven = atoi(tipo_iva11_ven);
|
||||
const bool non_imponibile = (tipo_aliquota == "NI");
|
||||
const bool esente = (tipo_aliquota == "ES");
|
||||
const bool reverse = (tipo_aliquota >= "31" && tipo_aliquota >= "38");
|
||||
const bool terremotati = tipo_aliquota >= "25";
|
||||
const bool reverse = int_tipo_iva11_ven >= 31 && int_tipo_iva11_ven <= 38;
|
||||
const bool terremotati = int_tipo_iva11_ven == 25;
|
||||
|
||||
if (non_imponibile)
|
||||
{
|
||||
if (tipo_iva11_ven == "21")
|
||||
if (int_tipo_iva11_ven == 21)
|
||||
add_value("VE31.1", imp);
|
||||
else
|
||||
if (tipo_iva11_ven == "22")
|
||||
if (int_tipo_iva11_ven == 22)
|
||||
add_value("VE32.1", imp);
|
||||
}
|
||||
if (esente)
|
||||
@ -218,7 +224,7 @@ void TQuadro_VE_recordset::load(const long year)
|
||||
|
||||
if (reverse)
|
||||
{
|
||||
const int tipo_reverse = atoi(tipo_iva11_ven);
|
||||
const int tipo_reverse = int_tipo_iva11_ven;
|
||||
|
||||
switch (tipo_reverse)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="12.25" type="Numero" align="right" width="11" id="102" pattern="1" text="###.###.###">
|
||||
<source>VE01.2</source>
|
||||
<postscript description="B1.102 POSTSCRIPT">MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="13.4" type="Numero" align="right" width="11" id="201" pattern="1" text="###.###.###">
|
||||
<source>VE02.1</source>
|
||||
@ -34,7 +33,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="13.4" type="Numero" align="right" width="11" id="202" pattern="1" text="###.###.###">
|
||||
<source>VE01.2</source>
|
||||
<postscript description="B1.202 POSTSCRIPT">MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="14.4" type="Numero" align="right" width="11" id="301" pattern="1" text="###.###.###">
|
||||
<source>VE01.3</source>
|
||||
@ -42,7 +40,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="14.4" type="Numero" align="right" width="11" id="302" pattern="1" text="###.###.###">
|
||||
<source>VE03.2</source>
|
||||
<postscript description="B1.302 POSTSCRIPT">MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="15.4" type="Numero" align="right" width="11" id="401" pattern="1" text="###.###.###">
|
||||
<source>VE04.1</source>
|
||||
@ -50,7 +47,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="15.4" type="Numero" align="right" width="11" id="402" pattern="1" text="###.###.###">
|
||||
<source>VE04.2</source>
|
||||
<postscript description="B1.402 POSTSCRIPT">MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="16.5" type="Numero" align="right" width="11" id="501" pattern="1" text="###.###.###">
|
||||
<source>VE05.1</source>
|
||||
@ -58,7 +54,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="16.5" type="Numero" align="right" width="11" id="502" pattern="1" text="###.###.###">
|
||||
<source>VE05.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="17.5" type="Numero" align="right" width="11" id="601" pattern="1" text="###.###.###">
|
||||
<source>VE06.1</source>
|
||||
@ -66,7 +61,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="17.5" type="Numero" align="right" width="11" id="602" pattern="1" text="###.###.###">
|
||||
<source>VE06.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="18.5" type="Numero" align="right" width="11" id="701" pattern="1" text="###.###.###">
|
||||
<source>VE07.1</source>
|
||||
@ -74,7 +68,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="18.5" type="Numero" align="right" width="11" id="702" pattern="1" text="###.###.###">
|
||||
<source>VE07.2</source>
|
||||
<postscript description="B1.702 POSTSCRIPT">MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="19.5" type="Numero" align="right" width="11" id="801" pattern="1" text="###.###.###">
|
||||
<source>VE08.1</source>
|
||||
@ -82,7 +75,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="19.5" type="Numero" align="right" width="11" id="802" pattern="1" text="###.###.###">
|
||||
<source>VE08.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="20.5" type="Numero" align="right" width="11" id="901" pattern="1" text="###.###.###">
|
||||
<source>VE09.1</source>
|
||||
@ -90,7 +82,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="20.5" type="Numero" align="right" width="11" id="902" pattern="1" text="###.###.###">
|
||||
<source>VE09.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="22.5" type="Numero" align="right" width="11" id="2001" pattern="1" text="###.###.###">
|
||||
<source>VE20.1</source>
|
||||
@ -98,7 +89,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="22.5" type="Numero" align="right" width="11" id="2002" pattern="1" text="###.###.###">
|
||||
<source>VE20.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="23.65" type="Numero" align="right" width="11" id="2101" pattern="1" text="###.###.###">
|
||||
<source>VE21.1</source>
|
||||
@ -106,7 +96,6 @@
|
||||
</field>
|
||||
<field x="65.5" y="23.65" type="Numero" align="right" width="11" id="2102" pattern="1" text="###.###.###">
|
||||
<source>VE21.1</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="24.6" type="Numero" align="right" width="11" id="2201" pattern="1" text="###.###.###">
|
||||
<source>VE22.1</source>
|
||||
@ -114,35 +103,34 @@
|
||||
</field>
|
||||
<field x="65.5" y="24.6" type="Numero" align="right" width="11" id="2202" pattern="1" text="###.###.###">
|
||||
<source>VE22.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2302</postscript>
|
||||
</field>
|
||||
<field x="51" y="25.75" type="Numero" align="right" width="11" id="2301" pattern="1" text="###.###.###" />
|
||||
<field x="51" y="25.75" type="Numero" align="right" width="11" id="2301" pattern="1" text="###.###.###">
|
||||
<source>#101+#201+#301+#401+#501+#601+#701+#801+#901+#2001+#2101+#2201</source>
|
||||
</field>
|
||||
<field x="65.5" y="25.75" type="Numero" align="right" width="11" id="2302" pattern="1" text="###.###.###">
|
||||
<postscript>MESSAGE ADD,#B1.2502</postscript>
|
||||
<source>#102+#202+#302+#402+#502+#602+#702+#802+#902+#2002+#2102+#2202+#2302</source>
|
||||
</field>
|
||||
<field x="65.5" y="26.75" type="Numero" align="right" width="11" id="2402" pattern="1" text="###.###.###">
|
||||
<source>VE24.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.2502</postscript>
|
||||
</field>
|
||||
<field x="65.5" y="27.75" type="Numero" align="right" width="11" id="2502" pattern="1" text="###.###.###" />
|
||||
<field x="65.5" y="27.75" type="Numero" align="right" width="11" id="2502" pattern="1" text="###.###.###">
|
||||
<source>#2302+#2402</source>
|
||||
</field>
|
||||
<field x="19" y="30.75" type="Numero" align="right" width="11" id="3002" pattern="1" text="###.###.###">
|
||||
<source>VE30.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.3010</postscript>
|
||||
</field>
|
||||
<field x="37" y="30.75" type="Numero" align="right" width="11" id="3003" pattern="1" text="###.###.###">
|
||||
<source>VE30.3</source>
|
||||
<postscript>MESSAGE ADD,#B1.3010</postscript>
|
||||
</field>
|
||||
<field x="19" y="32.75" type="Numero" align="right" width="11" id="3004" pattern="1" text="###.###.###">
|
||||
<source>VE30.4</source>
|
||||
<postscript>MESSAGE ADD,#B1.3010</postscript>
|
||||
</field>
|
||||
<field x="37" y="32.75" type="Numero" align="right" width="11" id="3005" pattern="1" text="###.###.###">
|
||||
<source>VE30.5</source>
|
||||
<postscript>MESSAGE ADD,#B1.3010</postscript>
|
||||
</field>
|
||||
<field x="51" y="28.75" type="Numero" align="right" width="11" id="3010" pattern="1" text="###.###.###">
|
||||
<postscript>MESSAGE ADD,#B1.2301</postscript>
|
||||
<source>#3002+#3003+#3004+#3005</source>
|
||||
<postscript description="B1.3010 POSTSCRIPT">MESSAGE ADD,#B1.2301</postscript>
|
||||
</field>
|
||||
<field x="51" y="33.9" type="Numero" align="right" width="11" id="3101" pattern="1" text="###.###.###">
|
||||
<source>VE31.1</source>
|
||||
@ -159,38 +147,31 @@
|
||||
</field>
|
||||
<field x="19" y="40" type="Numero" align="right" width="11" id="3502" pattern="1" text="###.###.###">
|
||||
<source>VE35.2</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="37" y="40" type="Numero" align="right" width="11" id="3503" pattern="1" text="###.###.###">
|
||||
<source>VE35.3</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="19" y="42.1" type="Numero" align="right" width="11" id="3504" pattern="1" text="###.###.###">
|
||||
<source>V35.4</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="37" y="42.1" type="Numero" align="right" width="11" id="3505" pattern="1" text="###.###.###">
|
||||
<source>VE35.5</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="19" y="44.15" type="Numero" align="right" width="11" id="3506" pattern="1" text="###.###.###">
|
||||
<source>V35.6</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="37" y="44.15" type="Numero" align="right" width="11" id="3507" pattern="1" text="###.###.###">
|
||||
<source>VE35.7</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="19" y="46.15" type="Numero" align="right" width="11" id="3508" pattern="1" text="###.###.###">
|
||||
<source>V35.8</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="37" y="46.15" type="Numero" align="right" width="11" id="3509" pattern="1" text="###.###.###">
|
||||
<source>VE35.9</source>
|
||||
<postscript>MESSAGE ADD,#B1.3510</postscript>
|
||||
</field>
|
||||
<field x="51" y="38" type="Numero" align="right" width="11" id="3510" pattern="1" text="###.###.###">
|
||||
<postscript>MESSAGE ADD,#B1.2301</postscript>
|
||||
<source>#3502+#3503+#3504+#3505+#3506+#3507+#3508+#3509</source>
|
||||
<postscript description="B1.3510 POSTSCRIPT">MESSAGE ADD,#B1.2301</postscript>
|
||||
</field>
|
||||
<field x="51" y="47.25" type="Numero" align="right" width="11" id="3601" pattern="1" text="###.###.###">
|
||||
<source>VE36.1</source>
|
||||
@ -214,7 +195,8 @@
|
||||
<postscript>MESSAGE SUB,#B1.5001</postscript>
|
||||
</field>
|
||||
<field x="51" y="54.5" type="Numero" align="right" width="11" id="5001" pattern="1" text="###.###.###">
|
||||
<postscript>MESSAGE ADD,#B1.2301</postscript>
|
||||
<source>#2301+#3010+#3101+#3201+#3301+#3401+#3510+#3601+#3701+#3801-#3901-#4001</source>
|
||||
<postscript description="B1.5001 POSTSCRIPT">MESSAGE ADD,#B1.2301</postscript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" pattern="1" />
|
||||
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="cg7600l" orientation="2" lpi="6">
|
||||
<report name="cg7500l" orientation="1" lpi="6">
|
||||
<description>Dichiarazione IVA Quadro VE - Rev.Charge</description>
|
||||
<font face="Arial" size="8" />
|
||||
<section type="Head" pattern="1">
|
||||
<field x="132" type="Stringa" align="right" width="30" pattern="1">
|
||||
<field x="89" type="Stringa" align="right" width="30" pattern="1">
|
||||
<source>"Pag. " +#PAGE</source>
|
||||
</field>
|
||||
<field x="2" y="0.75" type="Testo" align="right" width="7" pattern="1" text="Num.Reg" />
|
||||
@ -16,10 +16,10 @@
|
||||
<field x="38" y="0.75" type="Testo" width="7" pattern="1" text="N. Doc." />
|
||||
<field x="46" y="0.75" type="Testo" width="4" pattern="1" text="Caus" />
|
||||
<field x="51" y="0.75" type="Testo" width="50" pattern="1" text="Cliente Ragione Sociale" />
|
||||
<field x="102" y="0.75" type="Testo" align="right" width="18" pattern="1" text="Imponibile" />
|
||||
<field x="121" y="0.75" type="Testo" width="4" pattern="1" text="C.Iva" />
|
||||
<field x="126" y="0.75" type="Testo" width="4" pattern="1" text="R.C." />
|
||||
<field border="2" x="2" y="1.75" type="Linea" width="160" height="0" pattern="1" />
|
||||
<field x="92" y="0.75" type="Testo" align="right" width="18" pattern="1" text="Imponibile" />
|
||||
<field x="111" y="0.75" type="Testo" width="4" pattern="1" text="C.Iva" />
|
||||
<field x="116" y="0.75" type="Testo" width="4" pattern="1" text="R.C." />
|
||||
<field border="2" x="2" y="1.75" type="Linea" width="117" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1" pattern="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
@ -27,10 +27,10 @@
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
<source>#SYSTEM.RAGSOC</source>
|
||||
</field>
|
||||
<field x="132" type="Stringa" align="right" width="30" pattern="1">
|
||||
<field x="89" type="Stringa" align="right" width="30" pattern="1">
|
||||
<source>"Data di Stampa: " +#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field border="1" x="2" y="1" type="Stringa" align="center" width="160" pattern="1">
|
||||
<field border="1" x="2" y="1" type="Stringa" align="center" width="117" pattern="1">
|
||||
<source>"ELENCO OPERAZIONI CON APPLICAZIONE DEL REVERSE CHARGE - " +#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
@ -94,25 +94,25 @@
|
||||
</section>
|
||||
<section type="Foot" pattern="1" />
|
||||
<section type="Foot" level="1" pattern="1">
|
||||
<field border="2" x="2" y="0.5" type="Linea" width="160" height="0" pattern="1" />
|
||||
<field x="50" y="1" type="Testo" align="right" width="50" pattern="1" text="TOTALE GENERALE:" />
|
||||
<field x="3" y="4" type="Testo" width="32" pattern="1" text="Cessioni di rottami e altri materiali di recupero" />
|
||||
<field x="68.5" y="4" type="Testo" width="32" pattern="1" text="Cessioni di oro e argento puro " />
|
||||
<field x="3" y="6" type="Testo" width="32" pattern="1" text="Subappalto nel settore edile" />
|
||||
<field x="68.5" y="6" type="Testo" width="30" pattern="1" text="Cessioni di fabbricati" />
|
||||
<field x="3" y="8" type="Testo" width="32" pattern="1" text="Cessioni di telefoni cellulari " />
|
||||
<field x="68.5" y="8" type="Testo" width="30" pattern="1" text="Cessioni di microprocessori " />
|
||||
<field x="3" y="10" type="Testo" width="32" pattern="1" text="Prestazioni comparto edile e settori connessi" />
|
||||
<field x="68.5" y="10" type="Testo" width="30" pattern="1" text="Operazioni settore energetico " />
|
||||
<field x="102" y="1" type="Valuta" align="right" width="18" id="100" pattern="1" text="###.###.###,@@" />
|
||||
<field border="2" x="2" y="0.5" type="Linea" width="117" height="0" pattern="1" />
|
||||
<field x="40" y="1" type="Testo" align="right" width="50" pattern="1" text="TOTALE GENERALE:" />
|
||||
<field x="2" y="4" type="Testo" width="33" pattern="1" text="31_Cessioni di rottami e altri materiali di recupero" />
|
||||
<field x="58.5" y="4" type="Testo" width="32" pattern="1" text="32_Cessioni di oro e argento puro " />
|
||||
<field x="2" y="6" type="Testo" width="33" pattern="1" text="33_Subappalto nel settore edile" />
|
||||
<field x="58.5" y="6" type="Testo" width="30" pattern="1" text="34_Cessioni di fabbricati" />
|
||||
<field x="2" y="8" type="Testo" width="33" pattern="1" text="35_Cessioni di telefoni cellulari " />
|
||||
<field x="58.5" y="8" type="Testo" width="30" pattern="1" text="36_Cessioni di microprocessori " />
|
||||
<field x="2" y="10" type="Testo" width="33" pattern="1" text="37_Prestazioni comparto edile e settori connessi" />
|
||||
<field x="58.5" y="10" type="Testo" width="30" pattern="1" text="38_Operazioni settore energetico " />
|
||||
<field x="92" y="1" type="Valuta" align="right" width="18" id="100" pattern="1" text="###.###.###,@@" />
|
||||
<field x="35" y="4" type="Valuta" align="right" width="18" id="131" pattern="1" text="###.###.###,@@" />
|
||||
<field x="102" y="4" type="Valuta" align="right" width="18" id="132" pattern="1" text="###.###.###,@@" />
|
||||
<field x="92" y="4" type="Valuta" align="right" width="18" id="132" pattern="1" text="###.###.###,@@" />
|
||||
<field x="35" y="6" type="Valuta" align="right" width="18" id="133" pattern="1" text="###.###.###,@@" />
|
||||
<field x="102" y="6" type="Valuta" align="right" width="18" id="134" pattern="1" text="###.###.###,@@" />
|
||||
<field x="92" y="6" type="Valuta" align="right" width="18" id="134" pattern="1" text="###.###.###,@@" />
|
||||
<field x="35" y="8" type="Valuta" align="right" width="18" id="135" pattern="1" text="###.###.###,@@" />
|
||||
<field x="102" y="8" type="Valuta" align="right" width="18" id="136" pattern="1" text="###.###.###,@@" />
|
||||
<field x="92" y="8" type="Valuta" align="right" width="18" id="136" pattern="1" text="###.###.###,@@" />
|
||||
<field x="35" y="10" type="Valuta" align="right" width="18" id="137" pattern="1" text="###.###.###,@@" />
|
||||
<field x="102" y="10" type="Valuta" align="right" width="18" id="138" pattern="1" text="###.###.###,@@" />
|
||||
<field x="92" y="10" type="Valuta" align="right" width="18" id="138" pattern="1" text="###.###.###,@@" />
|
||||
</section>
|
||||
<section type="Foot" level="2" height="1" pattern="1">
|
||||
<field x="2" type="Numero" align="right" link="23.NUMREG" width="7" pattern="1">
|
||||
@ -136,13 +136,13 @@
|
||||
<field x="46" type="Stringa" width="4" pattern="1">
|
||||
<source>#B1.35</source>
|
||||
</field>
|
||||
<field x="51" type="Stringa" width="50" pattern="1">
|
||||
<field x="51" type="Stringa" width="40" pattern="1">
|
||||
<source>#B1.40</source>
|
||||
</field>
|
||||
<field x="121" type="Stringa" width="4" pattern="1">
|
||||
<field x="111" type="Stringa" width="4" pattern="1">
|
||||
<source>#B1.105</source>
|
||||
</field>
|
||||
<field x="130" type="Array" width="30" pattern="1">
|
||||
<field x="120" type="Array" hidden="1" width="30" pattern="1">
|
||||
<source>#B1.115</source>
|
||||
<list>
|
||||
<li Value=" " Code=" " />
|
||||
@ -156,10 +156,10 @@
|
||||
<li Value="Operazioni settore energetico" Code="38" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="102" type="Valuta" align="right" width="18" id="100" pattern="1" text="###.###.###,@@">
|
||||
<field x="92" type="Valuta" align="right" width="18" id="100" pattern="1" text="###.###.###,@@">
|
||||
<prescript description="F2.100 PRESCRIPT">MESSAGE ADD,F1.100</prescript>
|
||||
</field>
|
||||
<field x="127" type="Numero" align="right" width="2" id="120" pattern="1">
|
||||
<field x="117" type="Numero" align="right" width="2" id="120" pattern="1">
|
||||
<source>#B1.115</source>
|
||||
</field>
|
||||
</section>
|
||||
|
@ -285,4 +285,5 @@ Picture = <cg01>
|
||||
Module = 7
|
||||
Flags = ""
|
||||
Item_01 = "Quadro VE", "cg7 -5", "F"
|
||||
Item_02 = "Quadro VT", "cg5 -8", "F"
|
||||
Item_02 = "Quadro VF", "cg5 -6", "F"
|
||||
Item_03 = "Quadro VT", "cg5 -8", "F"
|
246
src/cg/cgpim.cpp
246
src/cg/cgpim.cpp
@ -249,249 +249,3 @@ bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool t
|
||||
|
||||
return last_checked != -1;
|
||||
}
|
||||
|
||||
|
||||
bool classify_pim(const TISAM_recordset& pim, real& imp, real& iva, tiporec& t, bool tipost)
|
||||
{
|
||||
static int last_checked = -1;
|
||||
|
||||
// parse CODTAB of pim record
|
||||
const TString80 ctab = pim.get("CODTAB").as_string();
|
||||
|
||||
const int tipocr = atoi(ctab.mid(15,1)); // tipo costo_ricavo
|
||||
const int tipodet = atoi(ctab.mid(20,1)); // tipo detraibilita'
|
||||
const int corrisp = (int)pim.get("I0").as_int(); // netto = 1, lordo = 2
|
||||
const int tipomov = (int)pim.get("I1").as_int(); // 1 = vendita, 2 = acquisto
|
||||
|
||||
// const bool vola = pimr.get_bool("B2");
|
||||
const bool rimb = pim.get("B3").as_bool();
|
||||
const bool ricl = pim.get("B4").as_bool();
|
||||
|
||||
const TString4 tipoiva = pim.get("S5").as_string();
|
||||
|
||||
// cominciamo cosi'
|
||||
imp = ZERO; iva = ZERO;
|
||||
|
||||
for (int i = last_checked + 1; i <= MAX_TIPOREC+1; i++)
|
||||
{
|
||||
tiporec tocheck = (tiporec)i;
|
||||
bool found = FALSE;
|
||||
|
||||
switch(tocheck)
|
||||
{
|
||||
case acq_norm:
|
||||
//found = tipomov == 2 && tipoiva != "NS";
|
||||
found = tipomov == 2;
|
||||
found &= (tipodet == 0 /* || tipodet == 1 || tipodet == 3 ||
|
||||
tipodet == 5 || tipodet == 9 */);
|
||||
if (found)
|
||||
{
|
||||
if (tipost) //stampa
|
||||
{
|
||||
imp = pim.get("R0").as_real() - pim.get("R9").as_real();
|
||||
iva = pim.get("R1").as_real() - pim.get("R10").as_real();
|
||||
}
|
||||
else //visualizza
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case vend_norm:
|
||||
//found = tipomov == 1 /* && corrisp == 1 */ && tipoiva != "NS";
|
||||
found = tipomov == 1 /* && corrisp == 1 */;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
}
|
||||
break;
|
||||
case acq_simp:
|
||||
if (tipomov == 2)
|
||||
{
|
||||
imp = pim.get("R11").as_real();
|
||||
iva = pim.get("R12").as_real();
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case vend_simp:
|
||||
if (tipomov == 1 /* && corrisp == 1 */)
|
||||
{
|
||||
imp = pim.get("R11").as_real();
|
||||
iva = pim.get("R12").as_real();
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case bolle_doganali:
|
||||
//if (tipomov == 2 && tipoiva != "NS")
|
||||
if (tipomov == 2 && tipodet != 9) // scarta le bolle doganali con tipo detr. == 9
|
||||
{
|
||||
imp = pim.get("R9").as_real();
|
||||
iva = pim.get("R10").as_real();
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case base_ventilazione:
|
||||
found = (tipomov == 2 && tipodet != 9 && tipocr == 1);
|
||||
found &= (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES");
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
}
|
||||
found &= !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_riv:
|
||||
/*
|
||||
found = (tipomov == 2 && tipodet != 9 &&
|
||||
(tipocr == 1 || (tipocr == 5 && tipodet == 3)));
|
||||
found &= tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES";
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
*/
|
||||
found = (tipomov == 2 && (tipocr == 1 || tipocr == 5));
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
}
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
break;
|
||||
case corr_norm:
|
||||
found = tipomov == 1 && corrisp == 2 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case corr_simp:
|
||||
if (tipomov == 1 && corrisp == 2)
|
||||
{
|
||||
imp = pim.get("R11").as_real();
|
||||
iva = pim.get("R12").as_real();
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_ammort:
|
||||
//found = tipomov == 2 && tipocr == 2 &&
|
||||
// tipodet == 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 2 && tipodet == 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_ammort_nd:
|
||||
//found = tipomov == 2 && tipocr ==2 &&
|
||||
// tipodet != 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr ==2 && tipodet != 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_leasing:
|
||||
//found = tipomov == 2 && tipocr == 8 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 8;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_amm_ultdetr:
|
||||
//found = tipomov == 2 && tipocr == 3 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 3;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_op_es:
|
||||
found = tipomov == 2 && tipodet == 1 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_pass_int:
|
||||
found = tipomov == 2 && tipodet == 3 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_art_19:
|
||||
found = tipomov == 2 && tipodet == 9 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real() - pim.get("R9").as_real(); // toglie le bolle doganali (sono a parte)
|
||||
iva = pim.get("R1").as_real() - pim.get("R10").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case cess_amm:
|
||||
//found = tipomov == 1 && tipocr == 4 && tipoiva != "NS";
|
||||
found = tipomov == 1 && tipocr == 4;
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case vend_rimborso:
|
||||
found = tipomov == 1 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_rimborso:
|
||||
found = tipomov == 2 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R0").as_real();
|
||||
iva = pim.get("R1").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_bd_ind_art_19:
|
||||
found = tipomov == 2 && tipodet == 9 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pim.get("R9").as_real();
|
||||
iva = pim.get("R10").as_real();
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == MAX_TIPOREC+1)
|
||||
last_checked = -1;
|
||||
else if (found)
|
||||
{
|
||||
t = tocheck;
|
||||
last_checked = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return last_checked != -1;
|
||||
}
|
||||
|
@ -83,6 +83,5 @@ const int MAX_TIPOREC = 19;
|
||||
// -----------------------------------------------------------
|
||||
|
||||
bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool ts);
|
||||
bool classify_pim(const TISAM_recordset& pim, real& imp, real& iva, tiporec& t, bool ts);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user