diff --git a/src/cg/cg7600.cpp b/src/cg/cg7600.cpp
index a84c6108f..766c17417 100644
--- a/src/cg/cg7600.cpp
+++ b/src/cg/cg7600.cpp
@@ -92,7 +92,7 @@ void TQuadro_VE_recordset::load()
imponibile.add("22.00", TString8("VE23.1"));
imposta.add("22.00", TString8("VE23.2"));
- TString256 query("USE PIM\nFROM CODTAB=");
+ TString query("USE PIM\nFROM CODTAB=");
query << year() << "\nTO CODTAB=" << year();
@@ -166,6 +166,16 @@ void TQuadro_VE_recordset::load()
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;
case acq_simp:
break;
@@ -191,12 +201,12 @@ void TQuadro_VE_recordset::load()
break;
case acq_ind_pass_int: // passaggi interni
if (vendite)
- add_value("VE40.1", iva);
+ add_value("VE40.1", imp);
break;
case acq_ind_art_19: // indetr. art. 19
break;
case cess_amm: // cessioni amministrative
- add_value("VE40.1", iva);
+ add_value("VE40.1", imp);
break;
case vend_rimborso: // vendite valide per rimborso
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())
{
- TString8 cod(exp.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());
- const TCodiceIVA & codiva = cached_codIVA(cod);
- const TString & aliquota = codiva.aliquota();
+ TString8 cod(exp.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());
+ const TCodiceIVA & codiva = cached_codIVA(cod);
+ 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())
- {
- const real imp = exp.get(FIELD_NAME(LF_RMOVIVA, RMI_IMPONIBILE)).as_real();
-
- if (codiva.is_agricola())
- sub_value(STRING_TOKEN(imponibile_agricolo.objptr(aliquota)), imp);
- else
- sub_value(STRING_TOKEN(imponibile.objptr(aliquota)), imp);
- }
- }
+ if (aliquota.full())
+ {
+ 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();
- 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())
{
TString8 cod(reg.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());
diff --git a/src/cg/cg7600n.rep b/src/cg/cg7600n.rep
index cc35982e4..90d2a835f 100644
--- a/src/cg/cg7600n.rep
+++ b/src/cg/cg7600n.rep
@@ -107,7 +107,7 @@
MESSAGE ADD,F1.200
- USE RMOVIVA SELECT ((MOV.SPLITPAY="S")||((MOV.SPLITPAY="")(20.SPLITPAY="X")))(MOV.ANNOIVA=#ANNO)(ATTIV.ATTNONCOM!="X")
+ USE RMOVIVA SELECT ((MOV.SPLITPAY="S")||((MOV.SPLITPAY="")(20.SPLITPAY="X")))(MOV.ANNOIVA=#ANNO)
BY RMOVIVA.CODIVA 23.DATAREG
JOIN MOV INTO NUMREG==NUMREG
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF
diff --git a/src/cg/cg7600o.rep b/src/cg/cg7600o.rep
index de57b3863..fe8b5f33c 100644
--- a/src/cg/cg7600o.rep
+++ b/src/cg/cg7600o.rep
@@ -79,7 +79,7 @@
- USE RMOVIVA SELECT (MOV.ANNOIVA=#ANNO)(26.SOLOIVA=="X")(26.REGSPIVA!="")(ATTIV.ATTNONCOM!="X")
+ USE RMOVIVA SELECT (MOV.ANNOIVA=#ANNO)(26.SOLOIVA=="X")(26.REGSPIVA!="")
JOIN MOV INTO NUMREG==NUMREG
JOIN 26 TO MOV INTO CODCAUS==CODCAUS
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF