Corretta contabilizzazione fatture con IVA x cassa utilizzando il conto apposito specificato in causale

git-svn-id: svn://10.65.10.50/branches/R_10_00@22798 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2013-02-07 14:20:13 +00:00
parent 5f290bedd1
commit d410a1fb99

View File

@ -180,15 +180,16 @@ int TMovimentoPN_VE::insert_cg_rec(int n, const TImporto& imp, TBill& conto,
return set_cg_rec(n, imp, conto, desc, tipo);
}
void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr)
void TMovimentoPN_VE::enter_row(int i, const TString& descr_cr)
{
CHECK(_caus,"Orgggssbb..._caus pointer is NULL!");
TRectype& cur = iva(i);
real imponibile = cur.get_real(RMI_IMPONIBILE);
real imposta = cur.get_real(RMI_IMPOSTA);
const int anno = lfile().curr().get_date(MOV_DATAREG).year();
const TString4 tipodet = cur.get(RMI_TIPODET);
const TString4 zanicchi(cur.get(RMI_CODIVA)); // Codice IVA
const int anno = lfile().curr().get_date(MOV_DATAREG).year();
real imponibile = cur.get_real(RMI_IMPONIBILE);
real imposta = cur.get_real(RMI_IMPOSTA);
if (imposta.is_zero() && _caus->corrispettivi()) // In caso di corrispettivi ...
{
@ -227,19 +228,22 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr)
if (newposiva < 0)
{
int ri;
const TRectype& head = lfile().curr();
int ri = RIGA_IVA_DETRAIBILE;
TBill contoiva;
const TRectype & head = lfile().curr();
if (head.get_bool(MOV_LIQDIFF))
_caus->bill(ri = RIGA_IVA_DIFFERITA, contoiva);
_caus->bill(ri = RIGA_IVA_DIFFERITA, contoiva); else
if (head.get_bool(MOV_IVAXCASSA))
_caus->bill(ri = RIGA_IVA_PER_CASSA, contoiva);
if (!contoiva.ok())
_caus->bill(ri = RIGA_IVA_DETRAIBILE, contoiva);
const TString80 d(_caus->desc_agg(ri));
if (contoiva.ok())
{
const TString80 d = _caus->desc_agg(ri);
newposiva = set_cg_rec(-1, val, contoiva, d, 'D');
}
}
else
add_cg_rec(newposiva, val);
@ -251,11 +255,9 @@ void TMovimentoPN_VE::enter_row(int i, const TString & descr_cr)
const TImporto val(real2imp(ivaind, 'I'));
if (newposiva < 0)
{
const TString80 d(_caus->desc_agg(RIGA_IVA_NON_DETRAIBILE));
const TString80 d = _caus->desc_agg(RIGA_IVA_NON_DETRAIBILE);
TBill contoivaind;
_caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind);
_caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind);
if (contoivaind.ok())
newposiva = set_cg_rec(-1, val, contoivaind, d, 'N');
}