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)
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user