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;
|
||||
|
||||
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;
|
||||
TString16 _fld_cms_cont;
|
||||
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
|
||||
const TipoIVA tiva = caus.iva();
|
||||
const bool vendita = tiva == iva_vendite;
|
||||
TBill bill; caus.bill(RIGA_IVA_NON_DETRAIBILE, bill);
|
||||
|
||||
// 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)
|
||||
{
|
||||
totdoc.normalize();
|
||||
@ -782,6 +833,29 @@ void TContabilizzazione_analitica::init()
|
||||
_fld_cms_cont = conf.get("CMSCNTFIELD","ve");
|
||||
_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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user