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
This commit is contained in:
guy 2011-01-27 13:44:49 +00:00
parent 47f8d9a67b
commit bd87d1d1d0

View File

@ -245,7 +245,11 @@ bool THardy_movimenti::test_moviva()
rec_rmoviva.put(RMI_TIPOC, tipoc); rec_rmoviva.put(RMI_TIPOC, tipoc);
rec_rmoviva.put(RMI_GRUPPO, gr); rec_rmoviva.put(RMI_GRUPPO, gr);
rec_rmoviva.put(RMI_CONTO, co); 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)); _righeiva->add(new TRectype(rec_rmoviva));
} }
return (kregivat > 0); return (kregivat > 0);
@ -407,6 +411,7 @@ bool THardy_movimenti::scrivi_righe()
} }
} }
_righecont->pack(); _righecont->pack();
const bool singola_rigacont = (_righecont->items()==1);
// secondo passo: per ogni riga iva cerco importo uguale in righe contabili, // 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 // 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++) for (int i=0;i<_righeiva->items();i++)
@ -429,7 +434,6 @@ bool THardy_movimenti::scrivi_righe()
} }
else else
{ {
const TString* codind = (TString*)_ivaind->objptr(codiva);
TCodiceIVA c(codiva); TCodiceIVA c(codiva);
real imponibile = get_imponibile(rec_rmoviva); 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 impon = rec_rmoviva.get_real(RMI_IMPONIBILE);
const real iva = rec_rmoviva.get_real(RMI_IMPOSTA); const real iva = rec_rmoviva.get_real(RMI_IMPOSTA);
c.imposta(importo); 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_TIPOC, rec_rmov.get(RMV_TIPOC));
rec_rmoviva.put(RMI_GRUPPO, rec_rmov.get(RMV_GRUPPO)); rec_rmoviva.put(RMI_GRUPPO, rec_rmov.get(RMV_GRUPPO));
rec_rmoviva.put(RMI_CONTO, rec_rmov.get(RMV_CONTO)); 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); TRectype& rec_rmoviva = *(TRectype*)_righeiva->objptr(i);
if (!rec_rmoviva.empty()) if (!rec_rmoviva.empty())
{ {
const char* codiva = rec_rmoviva.get(RMI_CODIVA); const TString& codiva = rec_rmoviva.get(RMI_CODIVA);
const TString* codind = (TString*)_ivaind->objptr(codiva);
if (codind != NULL)
rec_rmoviva.put(RMI_TIPODET, *codind);
const bool riga_omaggio = _ivaoma->is_key(codiva); const bool riga_omaggio = _ivaoma->is_key(codiva);
real imponibile = rec_rmoviva.get_real(RMI_IMPONIBILE); real imponibile = rec_rmoviva.get_real(RMI_IMPONIBILE);
real imposta = rec_rmoviva.get_real(RMI_IMPOSTA); 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 // sostituisco codice iva e importo (-) e gruppo conto sottoconto
imponibile = -imponibile; imponibile = -imponibile;
_conf->set(RMI_CODIVA, iva_esente); // codice iva esente per quadrare il movimento _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_IMPONIBILE, imponibile.string(0,2)); // imponibile negativo
_conf->set(RMI_IMPOSTA, ""); // imposta zero _conf->set(RMI_IMPOSTA, ""); // imposta zero
_conf->set(RMI_TIPOC, ""); _conf->set(RMI_TIPOC, "");