From a4c07bc4f831453deb0469129806f25e9af88125 Mon Sep 17 00:00:00 2001 From: AlexBonazzi Date: Thu, 21 Mar 2019 09:14:00 +0100 Subject: [PATCH] Patch level : 12.0 738 Files correlati : batbiva.msk vetbtip.msk ve0.exe ve1.exe ve5.exe ve6.exe Commento : Aggiunto flag sulla tabella iva per escludere il codice dal calcolo bolli esenti Sistemata maschera tipi documento --- src/ve/velib03.cpp | 47 +++++++++++++++++++++------------------------- src/ve/vetbtip.uml | 6 +++--- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/src/ve/velib03.cpp b/src/ve/velib03.cpp index 94701edbb..63fed65e0 100755 --- a/src/ve/velib03.cpp +++ b/src/ve/velib03.cpp @@ -504,10 +504,7 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const TCurrency_documento spese_val(spese()); spese_val.change_to_firm_val(); const real sp_orig = spese_val.get_num(); - bool estero = FALSE; // Assumiamo per ora non estero - - TString4 codiva_es; - iva_esente(codiva_es); + bool estero = false; // Assumiamo per ora non estero for (int j = 0; j < 5 && tot_bolli+iva_bolli != old_bolli; j++) { @@ -516,20 +513,18 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const const real imp_spese = sp_orig + tot_bolli - iva_bolli; const real imponibile = importo - imposte - imp_spese; tot_bolli = ZERO; - if (!tipo().nota_credito()) + real imponibile_esente; + + for (int r = physical_rows(); r > 0; r--) { - real imponibile_esente; - for (int r = physical_rows(); r > 0; r--) - { - const TRiga_documento& riga = ((TDocumento*)this)->row(r); - const TCodiceIVA codiva(riga.get(RDOC_CODIVA)); + const TRiga_documento& riga = ((TDocumento*)this)->row(r); + const TCodiceIVA codiva(riga.get(RDOC_CODIVA)); - if (codiva.tipo().not_empty()) - imponibile_esente += riga.imponibile(); - } - if (imponibile_esente >= impmin_bolli) - tot_bolli = bolli_es; - } + if (codiva.tipo().not_empty() && !codiva.escluso_esenti()) + imponibile_esente += abs(riga.imponibile()); + } + if (imponibile_esente >= impmin_bolli) + tot_bolli = bolli_es; pag.set_total(imponibile, imposte, imp_spese); pag.set_rate_auto(); @@ -540,16 +535,16 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const switch (p) { - case _ric_ban: - { - int i; - - for (i = 0; i < nscagl - 1; i++) - if ((real &) sca_bolli[i] >= imp) - break; - if (imp_bolli.items() > 0) - tot_bolli += (real &) imp_bolli[i]; - } + case _ric_ban: + { + int j; + + for (j = 0; j < nscagl - 1; j++) + if ((real &)sca_bolli[j] >= imp) + break; + if (imp_bolli.items() > 0) + tot_bolli += (real &)imp_bolli[j]; + } break; case _tratta: case _tratta_acc: diff --git a/src/ve/vetbtip.uml b/src/ve/vetbtip.uml index 9ed3b8fb3..dad4de822 100755 --- a/src/ve/vetbtip.uml +++ b/src/ve/vetbtip.uml @@ -234,19 +234,19 @@ END BOOLEAN F_SPESEAUT BEGIN - PROMPT 2 14 "Addebito auto spese cliente" + PROMPT 2 14 "Add.auto spese cliente" FIELD B0 END BOOLEAN F_FATCOM BEGIN - PROMPT 30 14 "Calcolo fattura commerciale" + PROMPT 30 14 "Calc.fatt.commerciale" FIELD B9 END BOOLEAN F_LORDO BEGIN - PROMPT 55 14 "Calcolo importi al lordo" + PROMPT 55 14 "Calc.importi al lordo" FIELD B8 MESSAGE TRUE CLEAR,F_FATCOM MESSAGE FALSE ENABLE,F_FATCOM