Patch level : 10.0 no patch

Files correlati     : crpa0.exe
Ricompilazione Demo : [ ]
Commento           :

indetr-


git-svn-id: svn://10.65.10.50/trunk@16630 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2008-05-16 10:21:41 +00:00
parent 81d17db674
commit da1d0a937b

View File

@ -155,30 +155,36 @@ void TIni2Sql::leggidadoc(const TString& elabfield, TString& tmpstr)
{ {
if (_rigadoc != NULL) if (_rigadoc != NULL)
{ {
real importo; bool non_rilevante = false;
if (_doc->tipocf() == 'F') const bool acquisto = _doc->tipocf() == 'F';
if (acquisto)
{ {
TString80 codcms = _rigadoc->codice_commessa(); TString80 codcms = _rigadoc->codice_commessa();
bool lordo = cache().get("CMS", codcms, "S7") == "NR"; non_rilevante = cache().get("CMS", codcms, "S7") == "NR";
const TTipo_riga_documento tiporig = _rigadoc->tipo(); }
//real perc_ind = tiporig.perc_indetraibilita();
const TRectype& tri = cache().get("%TRI", tiporig.codice()); real importo = _rigadoc->importo(true, non_rilevante);
real perc_ind = tri.get_real("R0");
if (lordo) if (acquisto && !non_rilevante)
perc_ind = 100.0; {
if (perc_ind != ZERO) const TString4 tipodet = _rigadoc->get(RDOC_TIPODET);
CHECK(_caus,"Causale documento non valida");
if (tipodet.full())
{ {
importo = _rigadoc->importo(TRUE, FALSE); const int anno = _doc->get_date(DOC_DATADOC).year();
real imposta = _rigadoc->imposta(); int tdet = 0;
importo = importo + (imposta*perc_ind)/100.0; const real perc_ind = indetraibile_al(tipodet, *_caus, anno, tdet);
} const int dec = _rigadoc->doc().decimals();
else real impind = importo * perc_ind / CENTO; impind.round(dec);
importo = _rigadoc->importo(TRUE, lordo); const TCodiceIVA iva(_rigadoc->get(RDOC_CODIVA));
} const real ivaind = iva.imposta(impind, dec);
else
importo = _rigadoc->importo(TRUE, FALSE); importo += ivaind;
}
}
if (test_swap()) if (test_swap())
importo = importo * (-1); importo = -importo;
tmpstr = importo.string(); tmpstr = importo.string();
} }
} }