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); 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!"); CHECK(_caus,"Orgggssbb..._caus pointer is NULL!");
TRectype& cur = iva(i); 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 tipodet = cur.get(RMI_TIPODET);
const TString4 zanicchi(cur.get(RMI_CODIVA)); // Codice IVA 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 ... 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) if (newposiva < 0)
{ {
int ri; const TRectype& head = lfile().curr();
int ri = RIGA_IVA_DETRAIBILE;
TBill contoiva; TBill contoiva;
const TRectype & head = lfile().curr();
if (head.get_bool(MOV_LIQDIFF)) 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()) if (!contoiva.ok())
_caus->bill(ri = RIGA_IVA_DETRAIBILE, contoiva); _caus->bill(ri = RIGA_IVA_DETRAIBILE, contoiva);
const TString80 d(_caus->desc_agg(ri));
if (contoiva.ok()) if (contoiva.ok())
{
const TString80 d = _caus->desc_agg(ri);
newposiva = set_cg_rec(-1, val, contoiva, d, 'D'); newposiva = set_cg_rec(-1, val, contoiva, d, 'D');
}
} }
else else
add_cg_rec(newposiva, val); 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')); const TImporto val(real2imp(ivaind, 'I'));
if (newposiva < 0) 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; TBill contoivaind;
_caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind);
_caus->bill(RIGA_IVA_NON_DETRAIBILE, contoivaind);
if (contoivaind.ok()) if (contoivaind.ok())
newposiva = set_cg_rec(-1, val, contoivaind, d, 'N'); newposiva = set_cg_rec(-1, val, contoivaind, d, 'N');
} }