diff --git a/ve/velib04b.cpp b/ve/velib04b.cpp index 4f03b4913..90a524e73 100755 --- a/ve/velib04b.cpp +++ b/ve/velib04b.cpp @@ -180,15 +180,16 @@ int TMovimentoPN_VE::insert_cg_rec(int n, const TImporto& imp, TBill& conto, return set_cg_rec(n, imp, conto, desc, tipo); } -void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr) +void TMovimentoPN_VE::enter_row(int i, const TString& descr_cr) { CHECK(_caus,"Orgggssbb..._caus pointer is NULL!"); + TRectype& cur = iva(i); - real imponibile = cur.get_real(RMI_IMPONIBILE); - real imposta = cur.get_real(RMI_IMPOSTA); - const int anno = lfile().curr().get_date(MOV_DATAREG).year(); const TString4 tipodet = cur.get(RMI_TIPODET); const TString4 zanicchi(cur.get(RMI_CODIVA)); // Codice IVA + const int anno = lfile().curr().get_date(MOV_DATAREG).year(); + real imponibile = cur.get_real(RMI_IMPONIBILE); + real imposta = cur.get_real(RMI_IMPOSTA); if (imposta.is_zero() && _caus->corrispettivi()) // In caso di corrispettivi ... { @@ -227,19 +228,22 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr) if (newposiva < 0) { - int ri; + const TRectype& head = lfile().curr(); + int ri = RIGA_IVA_DETRAIBILE; TBill contoiva; - const TRectype & head = lfile().curr(); if (head.get_bool(MOV_LIQDIFF)) - _caus->bill(ri = RIGA_IVA_DIFFERITA, contoiva); + _caus->bill(ri = RIGA_IVA_DIFFERITA, contoiva); else + if (head.get_bool(MOV_IVAXCASSA)) + _caus->bill(ri = RIGA_IVA_PER_CASSA, contoiva); if (!contoiva.ok()) _caus->bill(ri = RIGA_IVA_DETRAIBILE, contoiva); - - const TString80 d(_caus->desc_agg(ri)); if (contoiva.ok()) + { + const TString80 d = _caus->desc_agg(ri); newposiva = set_cg_rec(-1, val, contoiva, d, 'D'); + } } else add_cg_rec(newposiva, val); @@ -251,11 +255,9 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr) const TImporto val(real2imp(ivaind, 'I')); if (newposiva < 0) { - const TString80 d(_caus->desc_agg(RIGA_IVA_NON_DETRAIBILE)); + const TString80 d = _caus->desc_agg(RIGA_IVA_NON_DETRAIBILE); TBill contoivaind; - - _caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind); - + _caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind); if (contoivaind.ok()) newposiva = set_cg_rec(-1, val, contoivaind, d, 'N'); }