Patch level : 10.0 410
Files correlati : ve0.exe ve6.exe Ricompilazione Demo : [ ] Commento Aggiunte spese di incasso e bolli sui movimenti analitici se si usa il piano dei conti contabile git-svn-id: svn://10.65.10.50/trunk@19245 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
431ab25f8d
commit
57ee9309b6
@ -603,7 +603,8 @@ class TContabilizzazione_analitica : public TElaborazione // velib04f
|
|||||||
TCache_ripartizioni _rip;
|
TCache_ripartizioni _rip;
|
||||||
|
|
||||||
TToken_string _search_seq;
|
TToken_string _search_seq;
|
||||||
TBill _sco_perc_bill_an, _sco_imp_bill_an;
|
TBill _sco_perc_bill_an, _sco_imp_bill_an, _spin_billa, _spin_billv, _spbo_billa, _spbo_billv;
|
||||||
|
TString _spin_cod, _spbo_cod;
|
||||||
TCache_causali* _caus;
|
TCache_causali* _caus;
|
||||||
TString16 _fld_cms_cont;
|
TString16 _fld_cms_cont;
|
||||||
long _total_docs;// Numero di documenti contabilizzati
|
long _total_docs;// Numero di documenti contabilizzati
|
||||||
|
@ -558,6 +558,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
|
|
||||||
TImporto totdoc; // Totale movimento analitico
|
TImporto totdoc; // Totale movimento analitico
|
||||||
const TipoIVA tiva = caus.iva();
|
const TipoIVA tiva = caus.iva();
|
||||||
|
const bool vendita = tiva == iva_vendite;
|
||||||
TBill bill; caus.bill(RIGA_IVA_NON_DETRAIBILE, bill);
|
TBill bill; caus.bill(RIGA_IVA_NON_DETRAIBILE, bill);
|
||||||
|
|
||||||
// Scandisco le righe del documento,
|
// Scandisco le righe del documento,
|
||||||
@ -672,6 +673,56 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_usepdcc)
|
||||||
|
{
|
||||||
|
const TBill& cinc = (vendita ? _spin_billv : _spin_billa);
|
||||||
|
const TBill& cbol = (vendita ? _spbo_billv : _spbo_billa);
|
||||||
|
real tot_netto = doc.totale_netto();
|
||||||
|
TString4 codiva_es;
|
||||||
|
const real sp_incasso = doc.spese_incasso(tot_netto, decimals, _netto);
|
||||||
|
|
||||||
|
doc.iva_esente(codiva_es);
|
||||||
|
TCodiceIVA ivasp(codiva_es.not_empty() ? codiva_es : doc.codiva_spese());
|
||||||
|
|
||||||
|
// Aggiunge le spese bolli
|
||||||
|
tot_netto += sp_incasso + ivasp.imposta(sp_incasso, decimals) - doc.ritenute();
|
||||||
|
const real sp_bolli = doc.bolli(tot_netto, decimals, _netto);
|
||||||
|
|
||||||
|
if (sp_incasso != ZERO && cinc.is_analitico())
|
||||||
|
{
|
||||||
|
TRectype& rmov = mov.new_row();
|
||||||
|
rmov.put(RMOVANA_ANNOES, annoes);
|
||||||
|
rmov.put(RMOVANA_CODCONTO, cinc.string(0x8));
|
||||||
|
rmov.put(RMOVANA_CODCCOSTO, doc.codice_costo());
|
||||||
|
rmov.put(RMOVANA_CODCMS, doc.codice_commessa());
|
||||||
|
rmov.put(RMOVANA_CODFASE, doc.fase_commessa());
|
||||||
|
|
||||||
|
TImporto imp(sezione, sp_incasso);
|
||||||
|
|
||||||
|
imp.normalize();
|
||||||
|
rmov.put(RMOVANA_SEZIONE, imp.sezione());
|
||||||
|
rmov.put(RMOVANA_IMPORTO, imp.valore());
|
||||||
|
totdoc += imp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sp_bolli != ZERO && cbol.is_analitico())
|
||||||
|
{
|
||||||
|
TRectype& rmov = mov.new_row();
|
||||||
|
rmov.put(RMOVANA_ANNOES, annoes);
|
||||||
|
rmov.put(RMOVANA_CODCONTO, cbol.string(0x8));
|
||||||
|
rmov.put(RMOVANA_CODCCOSTO, doc.codice_costo());
|
||||||
|
rmov.put(RMOVANA_CODCMS, doc.codice_commessa());
|
||||||
|
rmov.put(RMOVANA_CODFASE, doc.fase_commessa());
|
||||||
|
|
||||||
|
TImporto imp(sezione, sp_bolli);
|
||||||
|
|
||||||
|
imp.normalize();
|
||||||
|
rmov.put(RMOVANA_SEZIONE, imp.sezione());
|
||||||
|
rmov.put(RMOVANA_IMPORTO, imp.valore());
|
||||||
|
totdoc += imp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (can_write && mov.rows() > 0)
|
if (can_write && mov.rows() > 0)
|
||||||
{
|
{
|
||||||
totdoc.normalize();
|
totdoc.normalize();
|
||||||
@ -782,6 +833,29 @@ void TContabilizzazione_analitica::init()
|
|||||||
_fld_cms_cont = conf.get("CMSCNTFIELD","ve");
|
_fld_cms_cont = conf.get("CMSCNTFIELD","ve");
|
||||||
_sco_imp_bill_an.set(gr,co,so);
|
_sco_imp_bill_an.set(gr,co,so);
|
||||||
|
|
||||||
|
gr = conf.get_int("SPINCODCONA","ve",1);
|
||||||
|
co = conf.get_int("SPINCODCONA","ve",2);
|
||||||
|
so = conf.get_long("SPINCODCONA","ve",3);
|
||||||
|
_spin_billa.set(gr,co,so);
|
||||||
|
|
||||||
|
gr = conf.get_int("SPINCODCONV","ve",1);
|
||||||
|
co = conf.get_int("SPINCODCONV","ve",2);
|
||||||
|
so = conf.get_long("SPINCODCONV","ve",3);
|
||||||
|
_spin_billv.set(gr,co,so);
|
||||||
|
|
||||||
|
gr = conf.get_int("SPBOCODCONA","ve",1);
|
||||||
|
co = conf.get_int("SPBOCODCONA","ve",2);
|
||||||
|
so = conf.get_long("SPBOCODCONA","ve",3);
|
||||||
|
_spbo_billa.set(gr,co,so);
|
||||||
|
|
||||||
|
gr = conf.get_int("SPBOCODCONV","ve",1);
|
||||||
|
co = conf.get_int("SPBOCODCONV","ve",2);
|
||||||
|
so = conf.get_long("SPBOCODCONV","ve",3);
|
||||||
|
_spbo_billv.set(gr,co,so);
|
||||||
|
|
||||||
|
_spin_cod = conf.get("SPINCODIVA","ve");
|
||||||
|
_spbo_cod = conf.get("SPBOCODIVA","ve");
|
||||||
|
|
||||||
_caus = new TCache_causali;
|
_caus = new TCache_causali;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user