Patch level : 12.0 332
Files correlati : ve0.exe ve6.exe Aggiunte le spese di trasporto all'imponibile intra suddivise per nomenclatura. La tabella spese ha ora una tipologia di spesa esplicita ( Altro, Incasso, Rimborsi, Trasporto). git-svn-id: svn://10.65.10.50/branches/R_10_00@23524 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5604127e3e
commit
cd0b472034
@ -64,6 +64,11 @@ class TSelect_color_mask;
|
||||
#define RIGA_DESCRIZIONI 'D'
|
||||
#define RIGA_RETTIFICHE 'T'
|
||||
|
||||
#define TIPO_SPESE_ALTRO "A"
|
||||
#define TIPO_SPESE_INCASSO "I"
|
||||
#define TIPO_SPESE_RIMBORSO "R"
|
||||
#define TIPO_SPESE_TRASPORTO "T"
|
||||
|
||||
#define MAX_IVA_SLICES 5
|
||||
|
||||
class TDocumento;
|
||||
@ -878,6 +883,7 @@ public:
|
||||
real totale_netto() const;
|
||||
real basesconto() const;
|
||||
real spese() const;
|
||||
real spese(const TString & tipo_spesa) const;
|
||||
real ritenute(const char tipo = '\0', bool lordo = false, int ndec = AUTO_DECIMALS) const;
|
||||
real provvigione(bool first = true, int ndec = AUTO_DECIMALS) const;
|
||||
real valore(bool totale, bool lordo = false, int ndec = AUTO_DECIMALS) const;
|
||||
|
@ -70,6 +70,7 @@ protected:
|
||||
public:
|
||||
TCodice_numerazione & num(const char* key);
|
||||
TNumerazione_cache();
|
||||
virtual ~TNumerazione_cache() { }
|
||||
};
|
||||
|
||||
TNumerazione_cache::TNumerazione_cache()
|
||||
@ -2500,7 +2501,41 @@ real TDocumento::basesconto() const
|
||||
real TDocumento::spese() const
|
||||
{
|
||||
const TString& field = tipo().spese();
|
||||
return field.full() ? get_real(field) : ZERO;
|
||||
|
||||
if (field.full())
|
||||
return get_real(field);
|
||||
else
|
||||
{
|
||||
real r;
|
||||
|
||||
FOR_EACH_PHYSICAL_RDOC(*this, i, rdoc)
|
||||
if (rdoc->is_spese())
|
||||
r += rdoc->imponibile();
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
||||
real TDocumento::spese(const TString & tipo_spesa) const
|
||||
{
|
||||
TString16 field = tipo().spese();
|
||||
|
||||
field << tipo_spesa;
|
||||
if (tipo().exist(field))
|
||||
return get_real(field);
|
||||
else
|
||||
{
|
||||
real r;
|
||||
|
||||
FOR_EACH_PHYSICAL_RDOC(*this, i, rdoc)
|
||||
if (rdoc->is_spese())
|
||||
{
|
||||
const TSpesa_prest s(rdoc->get(RDOC_CODART));
|
||||
|
||||
if (s.get("S11").sleft(1) == tipo_spesa)
|
||||
r += rdoc->imponibile();
|
||||
}
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
||||
real TDocumento::ritenute(const char tipo, bool lordo, int ndec) const
|
||||
|
@ -3963,14 +3963,37 @@ error_type TContabilizzazione::write_intra(TDocumento& doc)
|
||||
totale_righe += imp.get_num();
|
||||
}
|
||||
|
||||
if (nota_credito)
|
||||
totale_righe -= doc.spese(TIPO_SPESE_TRASPORTO);
|
||||
else
|
||||
totale_righe += doc.spese(TIPO_SPESE_TRASPORTO);
|
||||
|
||||
if (_error == no_error)
|
||||
{
|
||||
TGeneric_distrib d(doc.spese(TIPO_SPESE_TRASPORTO));
|
||||
TRectype* rc;
|
||||
|
||||
for(rc = (TRectype*)righe.first_item(); rc != NULL; rc = (TRectype*)righe.succ_item())
|
||||
d.add(is_val ? rc->get_real("AMMVALUTA") : rc->get_real("AMMLIRE"));
|
||||
// Copia il contenuto dell'assoc nel record array
|
||||
TRectype* rc = new TRectype(LF_RINTRA);
|
||||
rc = new TRectype(LF_RINTRA);
|
||||
rc->put("NUMREG", numreg);
|
||||
rintra.set_key(rc);
|
||||
for(rc = (TRectype*)righe.first_item(); rc != NULL; rc = (TRectype*)righe.succ_item())
|
||||
{
|
||||
real amm = is_val ? rc->get_real("AMMVALUTA") : rc->get_real("AMMLIRE");
|
||||
|
||||
amm += d.get();
|
||||
rc->put(is_val ? "AMMVALUTA" : "AMMLIRE", amm);
|
||||
if (is_val)
|
||||
{
|
||||
TCurrency_documento imp(amm, doc);
|
||||
|
||||
imp.change_to_firm_val();
|
||||
rc->put("AMMLIRE", imp.get_num());
|
||||
}
|
||||
rintra.add_row(*rc); // Devo aggiungere una copia della riga dell'assoc array!
|
||||
}
|
||||
// Testa (de coccio...)
|
||||
intra.zero();
|
||||
intra.put("NUMREG", numreg);
|
||||
|
@ -26,6 +26,7 @@
|
||||
#define SPP_CODTRB1 126
|
||||
#define SPP_SEZIONE 127
|
||||
#define SPP_CODCAUS770 128
|
||||
#define SPP_TIPOSP 129
|
||||
|
||||
#define SPP_CDC_V1 130
|
||||
#define SPP_CDC_V2 131
|
||||
|
@ -330,6 +330,16 @@ BEGIN
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
LIST SPP_TIPOSP 1 20
|
||||
BEGIN
|
||||
PROMPT 2 19 "Tipologia di spesa/prestazione "
|
||||
FIELD S11[1,1]
|
||||
ITEM " |Altro"
|
||||
ITEM "I|Incasso"
|
||||
ITEM "R|Rimborso"
|
||||
ITEM "T|Trasporto"
|
||||
END
|
||||
|
||||
STRING SPP_CODTRB 4
|
||||
BEGIN
|
||||
PROMPT 2 20 "Cod. tributo "
|
||||
@ -376,7 +386,7 @@ END
|
||||
LISTBOX SPP_SEZIONE 6
|
||||
BEGIN
|
||||
PROMPT 25 21 "Sezione per cooperative "
|
||||
FIELD S11
|
||||
FIELD S11[5,5]
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
|
Loading…
x
Reference in New Issue
Block a user