From bd87d1d1d0c8d7c824953c713b8ebb997d05376e Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 27 Jan 2011 13:44:49 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21526 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ha/hacnv200.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ha/hacnv200.cpp b/ha/hacnv200.cpp index 956035b91..f31e9c56f 100755 --- a/ha/hacnv200.cpp +++ b/ha/hacnv200.cpp @@ -245,7 +245,11 @@ bool THardy_movimenti::test_moviva() rec_rmoviva.put(RMI_TIPOC, tipoc); rec_rmoviva.put(RMI_GRUPPO, gr); rec_rmoviva.put(RMI_CONTO, co); - rec_rmoviva.put(RMI_SOTTOCONTO, so); + rec_rmoviva.put(RMI_SOTTOCONTO, so); + const TString& codiva = rec_rmoviva.get(RMI_CODIVA); + const TString* codind = (TString*)_ivaind->objptr(codiva); + if (codind != NULL) + rec_rmoviva.put(RMI_TIPODET, *codind); _righeiva->add(new TRectype(rec_rmoviva)); } return (kregivat > 0); @@ -407,6 +411,7 @@ bool THardy_movimenti::scrivi_righe() } } _righecont->pack(); + const bool singola_rigacont = (_righecont->items()==1); // secondo passo: per ogni riga iva cerco importo uguale in righe contabili, // se lo trovo assegno quel codice iva al conto contabile trovato e cancello la riga iva e la riga contabile for (int i=0;i<_righeiva->items();i++) @@ -429,7 +434,6 @@ bool THardy_movimenti::scrivi_righe() } else { - const TString* codind = (TString*)_ivaind->objptr(codiva); TCodiceIVA c(codiva); real imponibile = get_imponibile(rec_rmoviva); @@ -442,9 +446,6 @@ bool THardy_movimenti::scrivi_righe() const real impon = rec_rmoviva.get_real(RMI_IMPONIBILE); const real iva = rec_rmoviva.get_real(RMI_IMPOSTA); c.imposta(importo); - // se il codice iva ha una indetraibilità, metto il codice di ind. nella riga iva - if (codind != NULL) - rec_rmoviva.put(RMI_TIPODET, *codind); rec_rmoviva.put(RMI_TIPOC, rec_rmov.get(RMV_TIPOC)); rec_rmoviva.put(RMI_GRUPPO, rec_rmov.get(RMV_GRUPPO)); rec_rmoviva.put(RMI_CONTO, rec_rmov.get(RMV_CONTO)); @@ -484,10 +485,7 @@ bool THardy_movimenti::scrivi_righe() TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i); if (!rec_rmoviva.empty()) { - const char* codiva = rec_rmoviva.get(RMI_CODIVA); - const TString* codind = (TString*)_ivaind->objptr(codiva); - if (codind != NULL) - rec_rmoviva.put(RMI_TIPODET, *codind); + const TString& codiva = rec_rmoviva.get(RMI_CODIVA); const bool riga_omaggio = _ivaoma->is_key(codiva); real imponibile = rec_rmoviva.get_real(RMI_IMPONIBILE); real imposta = rec_rmoviva.get_real(RMI_IMPOSTA); @@ -524,6 +522,7 @@ bool THardy_movimenti::scrivi_righe() // sostituisco codice iva e importo (-) e gruppo conto sottoconto imponibile = -imponibile; _conf->set(RMI_CODIVA, iva_esente); // codice iva esente per quadrare il movimento + _conf->set(RMI_TIPODET, ""); _conf->set(RMI_IMPONIBILE, imponibile.string(0,2)); // imponibile negativo _conf->set(RMI_IMPOSTA, ""); // imposta zero _conf->set(RMI_TIPOC, "");