Patch level : 2.2 232
Files correlati : ve0.exe ve6.exe Ricompilazione Demo : [ ] Commento Bug 0000549 Non riesco a contab. un NAF con Ritenuta acc. es. 376 Faq con righe sconto non passano in analitica 374/375 git-svn-id: svn://10.65.10.50/trunk@13537 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7195f56cb2
commit
c87ad73c8c
@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
TOOLBAR "" 0 -2 0 2
|
TOOLBAR "" 0 -2 0 2
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 ""
|
PROMPT -13 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_LINK 10 2
|
BUTTON DLG_LINK 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -1 "Colle~ga"
|
PROMPT -23 -1 "Colle~ga"
|
||||||
PICTURE BMP_LINK
|
PICTURE BMP_LINK
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 10 2
|
BUTTON DLG_QUIT 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -33 -1 ""
|
PROMPT -33 -1 ""
|
||||||
END
|
END
|
||||||
|
@ -31,15 +31,11 @@ TImporto TMovimentoPN_VE::real2imp(const real& r, char row_type)
|
|||||||
CHECK(_caus,"Orgggssbb..._caus pointer is NULL!");
|
CHECK(_caus,"Orgggssbb..._caus pointer is NULL!");
|
||||||
bool dare = false;
|
bool dare = false;
|
||||||
if (row_type == 'S')
|
if (row_type == 'S')
|
||||||
{
|
|
||||||
dare = _caus->sezione_ritsoc() == 'D';
|
dare = _caus->sezione_ritsoc() == 'D';
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (row_type == 'F')
|
if (row_type == 'F')
|
||||||
{
|
dare = _caus->sezione_ritfis() == 'D';
|
||||||
dare = _caus->sezione_ritsoc() == 'D';
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dare = _caus->sezione_clifo() == 'D';
|
dare = _caus->sezione_clifo() == 'D';
|
||||||
@ -517,8 +513,8 @@ int TMovimentoPN_VE::recalc_cg_rows(const TString & descr_cr, TCausale & caus)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parametri da leggere all'inizio dell'elaborazione tramite load_parameters()
|
// Parametri da leggere all'inizio dell'elaborazione tramite load_parameters()
|
||||||
static TBill _sco_perc_bill, _sco_imp_bill, // Conti per gli sconti a percentuale ed importi (dalla configurazione)
|
TBill _sco_perc_bill, _sco_imp_bill; // Conti per gli sconti a percentuale ed importi (dalla configurazione)
|
||||||
_spin_billa, _spin_billv,
|
static TBill _spin_billa, _spin_billv,
|
||||||
_spbo_billa, _spbo_billv;
|
_spbo_billa, _spbo_billv;
|
||||||
static TBill _co_cliente, // conto clifo per movimento d'anticipo
|
static TBill _co_cliente, // conto clifo per movimento d'anticipo
|
||||||
_co_controp; // conto di contropartita per il movimetno d'anticipo
|
_co_controp; // conto di contropartita per il movimetno d'anticipo
|
||||||
|
107
ve/velib04f.cpp
107
ve/velib04f.cpp
@ -10,6 +10,7 @@
|
|||||||
#include "../cg/cg2103.h"
|
#include "../cg/cg2103.h"
|
||||||
#include "../mg/anamag.h"
|
#include "../mg/anamag.h"
|
||||||
|
|
||||||
|
extern TBill _sco_perc_bill, _sco_imp_bill;
|
||||||
|
|
||||||
class TCache_causali : public TCache
|
class TCache_causali : public TCache
|
||||||
{
|
{
|
||||||
@ -330,51 +331,73 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
|
|||||||
|
|
||||||
const char tipocf = riga.doc().get_char(DOC_TIPOCF);
|
const char tipocf = riga.doc().get_char(DOC_TIPOCF);
|
||||||
TString80 contanal;
|
TString80 contanal;
|
||||||
|
|
||||||
TBill bill; // Cerco il conto contabile
|
TBill bill; // Cerco il conto contabile
|
||||||
if (!search_costo_ricavo(riga, bill))
|
|
||||||
return true;
|
|
||||||
if (!bill.is_analitico())
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (riga.is_articolo())
|
if (riga.is_sconto())
|
||||||
{
|
{
|
||||||
const TRectype& anamag = cache().get(LF_ANAMAG, riga.get(RDOC_CODARTMAG));
|
if (!_sco_perc_bill.ok())
|
||||||
bArcticleFound = !anamag.empty();
|
{
|
||||||
|
TConfig conf(CONFIG_DITTA, "ve");
|
||||||
|
int gr = conf.get_int("SCOPRCODCON","ve",1);
|
||||||
|
int co = conf.get_int("SCOPRCODCON","ve",2);
|
||||||
|
long so = conf.get_long("SCOPRCODCON","ve",3);
|
||||||
|
|
||||||
|
_sco_perc_bill.set(gr,co,so);
|
||||||
|
|
||||||
|
gr = conf.get_int("SCOIMCODCON","ve",1);
|
||||||
|
co = conf.get_int("SCOIMCODCON","ve",2);
|
||||||
|
so = conf.get_long("SCOIMCODCON","ve",3);
|
||||||
|
_sco_imp_bill.set(gr,co,so);
|
||||||
|
}
|
||||||
|
if (riga.is_sconto_perc())
|
||||||
|
bill = _sco_perc_bill;
|
||||||
|
else
|
||||||
|
bill = _sco_imp_bill;
|
||||||
|
if (!bill.is_analitico())
|
||||||
|
return true;
|
||||||
if (_usepdcc)
|
if (_usepdcc)
|
||||||
contanal.format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
contanal.format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
||||||
else
|
}
|
||||||
contanal = anamag.get(tipocf == 'F' ? ANAMAG_CONTOINDA : ANAMAG_CONTOINDV);
|
else
|
||||||
}
|
{
|
||||||
else
|
if (!search_costo_ricavo(riga, bill))
|
||||||
{
|
return true;
|
||||||
const char* tabanal = NULL;
|
if (!bill.is_analitico())
|
||||||
if (riga.is_spese())
|
return true;
|
||||||
{ tabanal = "SPP"; } else
|
|
||||||
if (riga.is_prestazione())
|
if (riga.is_articolo())
|
||||||
{ tabanal = "PRS"; } else
|
{
|
||||||
if (riga.is_risorsa())
|
const TRectype& anamag = cache().get(LF_ANAMAG, riga.get(RDOC_CODARTMAG));
|
||||||
{ tabanal = "RIS"; } else
|
bArcticleFound = !anamag.empty();
|
||||||
if (riga.is_attrezzatura())
|
|
||||||
{ tabanal = "ATR"; }
|
|
||||||
if (tabanal != NULL)
|
|
||||||
{
|
|
||||||
const TRectype& spp = cache().get(tabanal, riga.get(RDOC_CODART));
|
|
||||||
bArcticleFound = !spp.empty();
|
|
||||||
if (_usepdcc)
|
if (_usepdcc)
|
||||||
contanal.format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
contanal.format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
||||||
else
|
else
|
||||||
contanal = spp.get(tipocf == 'F' ? "S2" : "S1");
|
contanal = anamag.get(tipocf == 'F' ? ANAMAG_CONTOINDA : ANAMAG_CONTOINDV);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
if (!bArcticleFound) // Se l'anagrtafica non esiste va bene cosi'
|
{
|
||||||
return true;
|
const char* tabanal = NULL;
|
||||||
|
if (riga.is_spese())
|
||||||
/* TBill bill; // Cerco il conto contabile
|
{ tabanal = "SPP"; } else
|
||||||
if (!search_costo_ricavo(riga, bill))
|
if (riga.is_prestazione())
|
||||||
return true;
|
{ tabanal = "PRS"; } else
|
||||||
if (!bill.is_analitico())
|
if (riga.is_risorsa())
|
||||||
return true;*/
|
{ tabanal = "RIS"; } else
|
||||||
|
if (riga.is_attrezzatura())
|
||||||
|
{ tabanal = "ATR"; }
|
||||||
|
if (tabanal != NULL)
|
||||||
|
{
|
||||||
|
const TRectype& spp = cache().get(tabanal, riga.get(RDOC_CODART));
|
||||||
|
bArcticleFound = !spp.empty();
|
||||||
|
if (_usepdcc)
|
||||||
|
contanal.format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
||||||
|
else
|
||||||
|
contanal = spp.get(tipocf == 'F' ? "S2" : "S1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!bArcticleFound) // Se l'anagrtafica non esiste va bene cosi'
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const TString80 riga_cos = riga.codice_costo();
|
const TString80 riga_cos = riga.codice_costo();
|
||||||
const TString80 riga_cms = riga.codice_commessa();
|
const TString80 riga_cms = riga.codice_commessa();
|
||||||
@ -520,8 +543,10 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
{
|
{
|
||||||
const TRiga_documento& riga = doc[i];
|
const TRiga_documento& riga = doc[i];
|
||||||
|
|
||||||
// salto descrizioni, sconti e omaggi
|
// salto descrizioni, sconti e omaggi
|
||||||
if (riga.is_descrizione() || riga.is_sconto() || riga.is_omaggio())
|
// if (riga.is_descrizione() || riga.is_sconto() || riga.is_omaggio())
|
||||||
|
// salto descrizioni, e omaggi
|
||||||
|
if (riga.is_descrizione() || riga.is_omaggio())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// salto valori nulli
|
// salto valori nulli
|
||||||
@ -532,7 +557,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
if (valore.is_zero())
|
if (valore.is_zero())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (tiva != iva_vendite)
|
if (tiva != iva_vendite && !riga.is_sconto())
|
||||||
{
|
{
|
||||||
real pind = ZERO;
|
real pind = ZERO;
|
||||||
if (tiva != nessuna_iva)
|
if (tiva != nessuna_iva)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user