diff --git a/ve/velib04b.cpp b/ve/velib04b.cpp index ad589c212..34de79f82 100755 --- a/ve/velib04b.cpp +++ b/ve/velib04b.cpp @@ -211,9 +211,7 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr) real imp, impind, iva, ivaind; int flag = analizza_riga_IVA(imponibile, imposta, *_caus, anno, zanicchi, tipodet, imp, iva, impind, ivaind); const TBill conto(cur); - TBill contoivaind; - _caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind); imponibile = imp + impind; if (conto.ok() && !imponibile.is_zero()) // Se c'e' imponibile ... { // crea una nuova riga contabile @@ -255,14 +253,15 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr) { int newposiva = type2pos('N'); const TImporto val(real2imp(ivaind, 'I')); - TBill contoivaind; - - _caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind); if (newposiva < 0) { const TString80 d(_caus->desc_agg(RIGA_IVA_NON_DETRAIBILE)); + TBill contoivaind; + + _caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind); - newposiva = set_cg_rec(-1, val, contoivaind, d, 'N'); + if (contoivaind.ok()) + newposiva = set_cg_rec(-1, val, contoivaind, d, 'N'); } else add_cg_rec(newposiva, val);