Patch level : 12.0 1134

Files correlati     : cg7
Commento:
modifiche quadro VE
Nel caso i attivita non cwcommerciale levendit non vanno esposte nei campi VE20-VE23
Nel campo VE40.1 veniva esposta l'IVa al posto dell'imponibile.
This commit is contained in:
Alessandro Bonazzi 2022-04-11 14:52:53 +02:00
parent 7bf78fe1c3
commit 3c417a804c
3 changed files with 48 additions and 20 deletions

View File

@ -92,7 +92,7 @@ void TQuadro_VE_recordset::load()
imponibile.add("22.00", TString8("VE23.1")); imponibile.add("22.00", TString8("VE23.1"));
imposta.add("22.00", TString8("VE23.2")); imposta.add("22.00", TString8("VE23.2"));
TString256 query("USE PIM\nFROM CODTAB="); TString query("USE PIM\nFROM CODTAB=");
query << year() << "\nTO CODTAB=" << year(); query << year() << "\nTO CODTAB=" << year();
@ -166,6 +166,16 @@ void TQuadro_VE_recordset::load()
add_value(STRING_TOKEN(imposta.objptr(aliquota)), iva); add_value(STRING_TOKEN(imposta.objptr(aliquota)), iva);
} }
} }
else
{
const int tipocr = atoi(codtab.mid(15, 1)); // tipo costo_ricavo
if (tipocr == 4)
{
if (int_tipo_iva11_ven == acq_ind_pass_int || int_tipo_iva11_ven == cess_amm)
add_value("VE40.1", imp);
}
}
break; break;
case acq_simp: case acq_simp:
break; break;
@ -191,12 +201,12 @@ void TQuadro_VE_recordset::load()
break; break;
case acq_ind_pass_int: // passaggi interni case acq_ind_pass_int: // passaggi interni
if (vendite) if (vendite)
add_value("VE40.1", iva); add_value("VE40.1", imp);
break; break;
case acq_ind_art_19: // indetr. art. 19 case acq_ind_art_19: // indetr. art. 19
break; break;
case cess_amm: // cessioni amministrative case cess_amm: // cessioni amministrative
add_value("VE40.1", iva); add_value("VE40.1", imp);
break; break;
case vend_rimborso: // vendite valide per rimborso case vend_rimborso: // vendite valide per rimborso
break; break;
@ -257,27 +267,45 @@ void TQuadro_VE_recordset::load()
} }
} }
TISAM_recordset & exp = get_recordset(REP_PAART17); TISAM_recordset exp = get_recordset(REP_PAART17);
query = exp.query_text();
int pos = query.find("BY") - 1;
query.insert("&&(ATTIV.ATTNONCOM != \"X\")", pos);
exp.set(query);
exp.requery();
exp.set_var("#DITTA", prefix().get_codditta());
exp.set_var("#ANNO", format("%d", year()));
for (exp.move_first(); !exp.eof(); exp.move_next()) for (exp.move_first(); !exp.eof(); exp.move_next())
{ {
TString8 cod(exp.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string()); TString8 cod(exp.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());
const TCodiceIVA & codiva = cached_codIVA(cod); const TCodiceIVA & codiva = cached_codIVA(cod);
const TString & aliquota = codiva.aliquota(); const TString & aliquota = codiva.aliquota();
const TRectype & mov = cache().get(LF_MOV, exp.get(FIELD_NAME(LF_RMOVIVA, RMI_NUMREG)).as_int());
if (aliquota.full()) if (aliquota.full())
{ {
const real imp = exp.get(FIELD_NAME(LF_RMOVIVA, RMI_IMPONIBILE)).as_real(); const real imp = exp.get(FIELD_NAME(LF_RMOVIVA, RMI_IMPONIBILE)).as_real();
real iva = exp.get(FIELD_NAME(LF_RMOVIVA, RMI_IMPOSTA)).as_real();
if (codiva.is_agricola())
sub_value(STRING_TOKEN(imponibile_agricolo.objptr(aliquota)), imp);
else
sub_value(STRING_TOKEN(imponibile.objptr(aliquota)), imp);
}
}
TISAM_recordset & reg = get_recordset(REP_REGOLARIZ); if (codiva.is_agricola())
sub_value(STRING_TOKEN(imponibile_agricolo.objptr(aliquota)), imp);
else
sub_value(STRING_TOKEN(imponibile.objptr(aliquota)), imp);
}
}
TISAM_recordset reg = get_recordset(REP_REGOLARIZ);
query = reg.query_text();
pos = query.find("JOIN") - 1;
query.insert("&&(ATTIV.ATTNONCOM != \"X\")", pos);
reg.set(query);
reg.requery();
reg.set_var("#DITTA", prefix().get_codditta());
reg.set_var("#ANNO", format("%d", year()));
for (reg.move_first(); !reg.eof(); reg.move_next()) for (reg.move_first(); !reg.eof(); reg.move_next())
{ {
TString8 cod(reg.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string()); TString8 cod(reg.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());

View File

@ -107,7 +107,7 @@
<prescript description="F2.200 PRESCRIPT">MESSAGE ADD,F1.200</prescript> <prescript description="F2.200 PRESCRIPT">MESSAGE ADD,F1.200</prescript>
</field> </field>
</section> </section>
<sql>USE RMOVIVA SELECT ((MOV.SPLITPAY="S")||((MOV.SPLITPAY="")&#26;&#26;(20.SPLITPAY="X")))&#26;&#26;(MOV.ANNOIVA=#ANNO)&#26;&#26;(ATTIV.ATTNONCOM!="X") <sql>USE RMOVIVA SELECT ((MOV.SPLITPAY="S")||((MOV.SPLITPAY="")&#26;&#26;(20.SPLITPAY="X")))&#26;&#26;(MOV.ANNOIVA=#ANNO)
BY RMOVIVA.CODIVA 23.DATAREG BY RMOVIVA.CODIVA 23.DATAREG
JOIN MOV INTO NUMREG==NUMREG JOIN MOV INTO NUMREG==NUMREG
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF

View File

@ -79,7 +79,7 @@
<field x="71.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="11" codval="" id="100" pattern="1" hide_zero="" text="###.###.###,@@" /> <field x="71.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="11" codval="" id="100" pattern="1" hide_zero="" text="###.###.###,@@" />
<field x="82.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="9" codval="" id="200" pattern="1" hide_zero="" text="###.###.###,@@" /> <field x="82.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="9" codval="" id="200" pattern="1" hide_zero="" text="###.###.###,@@" />
</section> </section>
<sql>USE RMOVIVA SELECT (MOV.ANNOIVA=#ANNO)&#26;&#26;(26.SOLOIVA=="X")&#26;&#26;(26.REGSPIVA!="")&#26;&#26;(ATTIV.ATTNONCOM!="X") <sql>USE RMOVIVA SELECT (MOV.ANNOIVA=#ANNO)&#26;&#26;(26.SOLOIVA=="X")&#26;&#26;(26.REGSPIVA!="")
JOIN MOV INTO NUMREG==NUMREG JOIN MOV INTO NUMREG==NUMREG
JOIN 26 TO MOV INTO CODCAUS==CODCAUS JOIN 26 TO MOV INTO CODCAUS==CODCAUS
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF