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:
parent
81d17db674
commit
da1d0a937b
@ -155,30 +155,36 @@ void TIni2Sql::leggidadoc(const TString& elabfield, TString& tmpstr)
|
||||
{
|
||||
if (_rigadoc != NULL)
|
||||
{
|
||||
real importo;
|
||||
if (_doc->tipocf() == 'F')
|
||||
bool non_rilevante = false;
|
||||
const bool acquisto = _doc->tipocf() == 'F';
|
||||
if (acquisto)
|
||||
{
|
||||
TString80 codcms = _rigadoc->codice_commessa();
|
||||
bool lordo = 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 perc_ind = tri.get_real("R0");
|
||||
if (lordo)
|
||||
perc_ind = 100.0;
|
||||
if (perc_ind != ZERO)
|
||||
non_rilevante = cache().get("CMS", codcms, "S7") == "NR";
|
||||
}
|
||||
|
||||
real importo = _rigadoc->importo(true, non_rilevante);
|
||||
|
||||
if (acquisto && !non_rilevante)
|
||||
{
|
||||
const TString4 tipodet = _rigadoc->get(RDOC_TIPODET);
|
||||
|
||||
CHECK(_caus,"Causale documento non valida");
|
||||
if (tipodet.full())
|
||||
{
|
||||
importo = _rigadoc->importo(TRUE, FALSE);
|
||||
real imposta = _rigadoc->imposta();
|
||||
importo = importo + (imposta*perc_ind)/100.0;
|
||||
}
|
||||
else
|
||||
importo = _rigadoc->importo(TRUE, lordo);
|
||||
}
|
||||
else
|
||||
importo = _rigadoc->importo(TRUE, FALSE);
|
||||
const int anno = _doc->get_date(DOC_DATADOC).year();
|
||||
int tdet = 0;
|
||||
const real perc_ind = indetraibile_al(tipodet, *_caus, anno, tdet);
|
||||
const int dec = _rigadoc->doc().decimals();
|
||||
real impind = importo * perc_ind / CENTO; impind.round(dec);
|
||||
const TCodiceIVA iva(_rigadoc->get(RDOC_CODIVA));
|
||||
const real ivaind = iva.imposta(impind, dec);
|
||||
|
||||
importo += ivaind;
|
||||
}
|
||||
}
|
||||
if (test_swap())
|
||||
importo = importo * (-1);
|
||||
importo = -importo;
|
||||
tmpstr = importo.string();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user