From a0120d0f105109e8d1352c04329f3d00fd982cea Mon Sep 17 00:00:00 2001 From: francescofucarino Date: Mon, 30 Nov 2020 17:16:33 +0100 Subject: [PATCH] Patch level : 12.0 1016 Files correlati : cg2.exe Commento : Corretto il caricamento del flag di reverse charge sulle regolarizzazioni, lo deve caricare solo sugli acquisti. Interno: Verificare sia le regolarizzazioni che le fatture di acquisto reverse charge. --- src/cg/cg2100.cpp | 8 ++++---- src/cg/cg2102.cpp | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/cg/cg2100.cpp b/src/cg/cg2100.cpp index 943b1b130..a982c2348 100755 --- a/src/cg/cg2100.cpp +++ b/src/cg/cg2100.cpp @@ -399,7 +399,7 @@ bool TPrimanota_application::read_caus(const char* cod, int year) TSheet_field& ivasheet = m->sfield(F_SHEETIVA); ivasheet.enable_column(IVA_NOTAVARECF, show_notevar); - ivasheet.sheet_mask().enable(IVA_NOTAVARECF, show_notevar); + ivasheet.sheet_mask().enable(IVA_NOTAVARECF, show_notevar); ivasheet.enable_column(IVA_REVCHARGE, show_active_revcharge); ivasheet.sheet_mask().enable(IVA_REVCHARGE, show_active_revcharge); } @@ -1279,7 +1279,7 @@ int TPrimanota_application::read(TMask& m) TBill c; c.get(r); c.add_to(riga, 4, 0x7); // Conto 105-110 riga.add(r.get(RMI_NAVP), cid2index(IVA_NOTAVARECF)); - riga.add(r.get(RMI_REVCHARGE), cid2index(IVA_REVCHARGE)); + riga.add(r.get(RMI_REVCHARGE), cid2index(IVA_REVCHARGE)); } calcola_imp(); // Calcola totale imponibile ed imposte ivas().update_original_rows(); @@ -1463,8 +1463,8 @@ void TPrimanota_application::mask2rel(const TMask& m) const int rimp = bill2pos(c, cgrowtype_imponibile) + 1; r.put(RMI_RIGAIMP, rimp); c.put(r); - r.put(RMI_NAVP, row.get(cid2index(IVA_NOTAVARECF))); - r.put(RMI_REVCHARGE, row.get(cid2index(IVA_REVCHARGE))); + r.put(RMI_NAVP, row.get(cid2index(IVA_NOTAVARECF))); + r.put(RMI_REVCHARGE, row.get(cid2index(IVA_REVCHARGE))); } } diff --git a/src/cg/cg2102.cpp b/src/cg/cg2102.cpp index 3af91ed85..f0d9179ca 100755 --- a/src/cg/cg2102.cpp +++ b/src/cg/cg2102.cpp @@ -1330,8 +1330,9 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key) TMask & main_mask = *app().mask(CGMaskType::_iva); const int anno = main_mask.get_int(F_ANNOIVA); const TString & codcaus = main_mask.get(F_CODCAUS); + const TCausale & causale = cached_causale(codcaus,anno); - m.set(IVA_REVCHARGE, cached_causale(codcaus, anno).reverse_charge_pubb() && iva.reverse_charge_attivo() ? "X" : "", 0x03); + m.set(IVA_REVCHARGE, causale.iva() == iva_acquisti && causale.reverse_charge_pubb() && iva.reverse_charge_attivo() ? "X" : "", 0x03); TMask_field& im = m.field(IVA_IMPONIBILE); @@ -3074,7 +3075,7 @@ bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key) if (acquisto) { row.add(codiva.indetraibilita(), cid2index(IVA_INDETRAIBILE)); - row.add(a.causale().reverse_charge_pubb() && reverse_charge_attivo ? "X" : "", cid2index(IVA_REVCHARGE)); + row.add(a.causale().iva() == iva_acquisti && a.causale().reverse_charge_pubb() && reverse_charge_attivo ? "X" : "", cid2index(IVA_REVCHARGE)); } TBill bill(row, cid2index(IVA_TIPO), 0x1);